Fork me on GitHub
Janus
Home
Demos
Documentation
Papers
Need help?
JanusCon!
postprocessing
pp-rtp.h
Go to the documentation of this file.
1
13
#ifndef _JANUS_PP_RTP
14
#define _JANUS_PP_RTP
15
16
#ifdef __MACH__
17
#include <machine/endian.h>
18
#define __BYTE_ORDER BYTE_ORDER
19
#define __BIG_ENDIAN BIG_ENDIAN
20
#define __LITTLE_ENDIAN LITTLE_ENDIAN
21
#else
22
#include <endian.h>
23
#endif
24
25
#include <glib.h>
26
27
typedef
struct
janus_pp_rtp_header
28
{
29
#if __BYTE_ORDER == __BIG_ENDIAN
30
uint16_t
version
:2;
31
uint16_t
padding
:1;
32
uint16_t
extension
:1;
33
uint16_t
csrccount
:4;
34
uint16_t
markerbit
:1;
35
uint16_t
type
:7;
36
#elif __BYTE_ORDER == __LITTLE_ENDIAN
37
uint16_t
csrccount
:4;
38
uint16_t
extension
:1;
39
uint16_t
padding
:1;
40
uint16_t
version
:2;
41
uint16_t
type
:7;
42
uint16_t
markerbit
:1;
43
#endif
44
uint16_t
seq_number
;
45
uint32_t
timestamp
;
46
uint32_t
ssrc
;
47
uint32_t
csrc
[16];
48
}
janus_pp_rtp_header
;
49
50
typedef
struct
janus_pp_rtp_header_extension
{
51
uint16_t
type
;
52
uint16_t
length
;
53
}
janus_pp_rtp_header_extension
;
54
55
typedef
struct
janus_pp_frame_packet
{
56
uint16_t
seq
;
/* RTP Sequence number */
57
uint64_t
ts
;
/* RTP Timestamp */
58
uint16_t
len
;
/* Length of the data */
59
int
pt
;
/* Payload type of the data */
60
long
offset
;
/* Offset of the data in the file */
61
int
skip
;
/* Bytes to skip, besides the RTP header */
62
uint8_t
drop
;
/* Whether this packet can be dropped (e.g., padding)*/
63
int
audiolevel
;
/* Value of audio level in RTP extension, if parsed */
64
int
rotation
;
/* Value of rotation in RTP extension, if parsed */
65
struct
janus_pp_frame_packet
*
next
;
66
struct
janus_pp_frame_packet
*
prev
;
67
}
janus_pp_frame_packet
;
68
69
#endif
janus_pp_rtp_header::csrccount
uint16_t csrccount
Definition:
pp-rtp.h:33
janus_pp_frame_packet::offset
long offset
Definition:
pp-rtp.h:60
janus_pp_rtp_header_extension::type
uint16_t type
Definition:
pp-rtp.h:51
janus_pp_frame_packet::seq
uint16_t seq
Definition:
pp-rtp.h:56
janus_pp_rtp_header::version
uint16_t version
Definition:
pp-rtp.h:30
janus_pp_frame_packet::drop
uint8_t drop
Definition:
pp-rtp.h:62
janus_pp_frame_packet
Definition:
pp-rtp.h:55
janus_pp_frame_packet::next
struct janus_pp_frame_packet * next
Definition:
pp-rtp.h:65
janus_pp_rtp_header::csrc
uint32_t csrc[16]
Definition:
pp-rtp.h:47
janus_pp_frame_packet::len
uint16_t len
Definition:
pp-rtp.h:58
janus_pp_frame_packet::rotation
int rotation
Definition:
pp-rtp.h:64
janus_pp_rtp_header::padding
uint16_t padding
Definition:
pp-rtp.h:31
janus_pp_rtp_header::type
uint16_t type
Definition:
pp-rtp.h:35
janus_pp_frame_packet::pt
int pt
Definition:
pp-rtp.h:59
janus_pp_frame_packet::skip
int skip
Definition:
pp-rtp.h:61
janus_pp_frame_packet
struct janus_pp_frame_packet janus_pp_frame_packet
janus_pp_rtp_header::timestamp
uint32_t timestamp
Definition:
pp-rtp.h:45
janus_pp_rtp_header_extension::length
uint16_t length
Definition:
pp-rtp.h:52
janus_pp_rtp_header::extension
uint16_t extension
Definition:
pp-rtp.h:32
janus_pp_rtp_header_extension
struct janus_pp_rtp_header_extension janus_pp_rtp_header_extension
janus_pp_frame_packet::audiolevel
int audiolevel
Definition:
pp-rtp.h:63
janus_pp_rtp_header::seq_number
uint16_t seq_number
Definition:
pp-rtp.h:44
janus_pp_rtp_header
Definition:
pp-rtp.h:27
janus_pp_rtp_header::ssrc
uint32_t ssrc
Definition:
pp-rtp.h:46
janus_pp_frame_packet::prev
struct janus_pp_frame_packet * prev
Definition:
pp-rtp.h:66
janus_pp_rtp_header
struct janus_pp_rtp_header janus_pp_rtp_header
janus_pp_rtp_header::markerbit
uint16_t markerbit
Definition:
pp-rtp.h:34
janus_pp_rtp_header_extension
Definition:
pp-rtp.h:50
janus_pp_frame_packet::ts
uint64_t ts
Definition:
pp-rtp.h:57