FFmpeg
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
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
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
};
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 */
Generated on Sat May 25 2013 04:01:19 for FFmpeg by
1.8.2