FFmpeg
Loading...
Searching...
No Matches
libavformat
srtp.h
Go to the documentation of this file.
1
/*
2
* SRTP encryption/decryption
3
* Copyright (c) 2012 Martin Storsjo
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#ifndef AVFORMAT_SRTP_H
23
#define AVFORMAT_SRTP_H
24
25
#include <stdint.h>
26
27
struct
AVAES
;
28
struct
AVHMAC
;
29
30
typedef
struct
SRTPContext
{
31
struct
AVAES
*
aes
;
32
struct
AVHMAC
*
hmac
;
33
int
rtp_hmac_size
,
rtcp_hmac_size
;
34
uint8_t
master_key
[16];
35
uint8_t
master_salt
[14];
36
uint8_t
rtp_key
[16],
rtcp_key
[16];
37
uint8_t
rtp_salt
[14],
rtcp_salt
[14];
38
uint8_t
rtp_auth
[20],
rtcp_auth
[20];
39
int
seq_largest
,
seq_initialized
;
40
uint32_t
roc
;
41
42
uint32_t
rtcp_index
;
43
}
SRTPContext
;
44
45
int
ff_srtp_set_crypto
(
struct
SRTPContext
*
s
,
const
char
*suite,
46
const
char
*
params
);
47
void
ff_srtp_free
(
struct
SRTPContext
*
s
);
48
int
ff_srtp_decrypt
(
struct
SRTPContext
*
s
, uint8_t *buf,
int
*lenptr);
49
int
ff_srtp_encrypt
(
struct
SRTPContext
*
s
,
const
uint8_t *in,
int
len
,
50
uint8_t *
out
,
int
outlen);
51
52
#endif
/* AVFORMAT_SRTP_H */
params
SwsAArch64OpImplParams params
Definition
ops.c:51
out
static FILE * out
Definition
api-movenc-test.c:55
s
#define s(width, name)
Definition
cbs_vp9.c:198
ff_srtp_encrypt
int ff_srtp_encrypt(struct SRTPContext *s, const uint8_t *in, int len, uint8_t *out, int outlen)
Definition
srtp.c:239
ff_srtp_set_crypto
int ff_srtp_set_crypto(struct SRTPContext *s, const char *suite, const char *params)
Definition
srtp.c:66
ff_srtp_decrypt
int ff_srtp_decrypt(struct SRTPContext *s, uint8_t *buf, int *lenptr)
Definition
srtp.c:127
ff_srtp_free
void ff_srtp_free(struct SRTPContext *s)
Definition
srtp.c:32
AVAES
Definition
aes_internal.h:34
AVHMAC
Definition
hmac.c:40
SRTPContext
Definition
srtp.h:30
SRTPContext::rtcp_auth
uint8_t rtcp_auth[20]
Definition
srtp.h:38
SRTPContext::rtcp_key
uint8_t rtcp_key[16]
Definition
srtp.h:36
SRTPContext::rtcp_index
uint32_t rtcp_index
Definition
srtp.h:42
SRTPContext::aes
struct AVAES * aes
Definition
srtp.h:31
SRTPContext::rtcp_salt
uint8_t rtcp_salt[14]
Definition
srtp.h:37
SRTPContext::master_key
uint8_t master_key[16]
Definition
srtp.h:34
SRTPContext::rtp_hmac_size
int rtp_hmac_size
Definition
srtp.h:33
SRTPContext::roc
uint32_t roc
Definition
srtp.h:40
SRTPContext::rtp_auth
uint8_t rtp_auth[20]
Definition
srtp.h:38
SRTPContext::hmac
struct AVHMAC * hmac
Definition
srtp.h:32
SRTPContext::rtcp_hmac_size
int rtcp_hmac_size
Definition
srtp.h:33
SRTPContext::master_salt
uint8_t master_salt[14]
Definition
srtp.h:35
SRTPContext::rtp_key
uint8_t rtp_key[16]
Definition
srtp.h:36
SRTPContext::rtp_salt
uint8_t rtp_salt[14]
Definition
srtp.h:37
SRTPContext::seq_largest
int seq_largest
Definition
srtp.h:39
SRTPContext::seq_initialized
int seq_initialized
Definition
srtp.h:39
len
int len
Definition
vorbis_enc_data.h:426
Generated on Wed Aug 26 2026 19:21:20 for FFmpeg by
1.13.2