FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
rtmp.h File Reference
#include "avformat.h"

Go to the source code of this file.

Macros

#define RTMP_DEFAULT_PORT   1935
 
#define RTMPS_DEFAULT_PORT   443
 
#define RTMP_HANDSHAKE_PACKET_SIZE   1536
 
#define HMAC_IPAD_VAL   0x36
 
#define HMAC_OPAD_VAL   0x5C
 
#define RTMP_CLIENT_PLATFORM   "LNX"
 emulated Flash client version - 9.0.124.2 on Linux More...
 
#define RTMP_CLIENT_VER1   9
 
#define RTMP_CLIENT_VER2   0
 
#define RTMP_CLIENT_VER3   124
 
#define RTMP_CLIENT_VER4   2
 

Functions

int ff_rtmp_calc_digest (const uint8_t *src, int len, int gap, const uint8_t *key, int keylen, uint8_t *dst)
 Calculate HMAC-SHA2 digest for RTMP handshake packets. More...
 
int ff_rtmp_calc_digest_pos (const uint8_t *buf, int off, int mod_val, int add_val)
 Calculate digest position for RTMP handshake packets. More...
 

Macro Definition Documentation

#define RTMP_DEFAULT_PORT   1935

Definition at line 27 of file rtmp.h.

Referenced by rtmp_open().

#define RTMPS_DEFAULT_PORT   443

Definition at line 28 of file rtmp.h.

Referenced by rtmp_open().

#define RTMP_HANDSHAKE_PACKET_SIZE   1536
#define HMAC_IPAD_VAL   0x36

Definition at line 32 of file rtmp.h.

Referenced by ff_rtmp_calc_digest().

#define HMAC_OPAD_VAL   0x5C

Definition at line 33 of file rtmp.h.

Referenced by ff_rtmp_calc_digest().

#define RTMP_CLIENT_PLATFORM   "LNX"

emulated Flash client version - 9.0.124.2 on Linux

Definition at line 39 of file rtmp.h.

Referenced by rtmp_open().

#define RTMP_CLIENT_VER1   9

Definition at line 40 of file rtmp.h.

Referenced by rtmp_handshake(), and rtmp_open().

#define RTMP_CLIENT_VER2   0

Definition at line 41 of file rtmp.h.

Referenced by rtmp_handshake(), and rtmp_open().

#define RTMP_CLIENT_VER3   124

Definition at line 42 of file rtmp.h.

Referenced by rtmp_handshake(), and rtmp_open().

#define RTMP_CLIENT_VER4   2

Definition at line 43 of file rtmp.h.

Referenced by rtmp_handshake(), and rtmp_open().

Function Documentation

int ff_rtmp_calc_digest ( const uint8_t src,
int  len,
int  gap,
const uint8_t key,
int  keylen,
uint8_t dst 
)

Calculate HMAC-SHA2 digest for RTMP handshake packets.

Parameters
srcinput buffer
leninput buffer length (should be 1536)
gapoffset in buffer where 32 bytes should not be taken into account when calculating digest (since it will be used to store that digest)
keydigest key
keylendigest key length
dstbuffer where calculated digest will be stored (32 bytes)

Definition at line 956 of file rtmpproto.c.

Referenced by ff_rtmpe_compute_secret_key(), rtmp_calc_swf_verification(), rtmp_calc_swfhash(), rtmp_handshake(), rtmp_handshake_imprint_with_digest(), and rtmp_validate_digest().

int ff_rtmp_calc_digest_pos ( const uint8_t buf,
int  off,
int  mod_val,
int  add_val 
)

Calculate digest position for RTMP handshake packets.

Parameters
bufinput buffer (should be 1536 bytes)
offoffset in buffer where to start calculating digest position
mod_valvalue used for computing modulo
add_valvalue added at the end (after computing modulo)

Definition at line 998 of file rtmpproto.c.

Referenced by ff_rtmpe_compute_secret_key(), ff_rtmpe_gen_pub_key(), rtmp_handshake_imprint_with_digest(), and rtmp_validate_digest().