libgpac
Documentation of the core library of GPAC
rtp.c File Reference
+ Include dependency graph for rtp.c:

Macros

#define MAX_RTP_SN   0x10000
 
#define RTP_DEFAULT_FIRSTPORT   7040
 
#define SN_CHECK_OFFSET   0x0A
 

Functions

GF_EXPORT GF_RTPChannel * gf_rtp_new_ex (const char *netcap_id)
 
GF_EXPORT GF_RTPChannel * gf_rtp_new ()
 
GF_EXPORT void gf_rtp_del (GF_RTPChannel *ch)
 
GF_EXPORT GF_Err gf_rtp_setup_transport (GF_RTPChannel *ch, GF_RTSPTransport *trans_info, const char *remote_address)
 
GF_EXPORT void gf_rtp_reset_buffers (GF_RTPChannel *ch)
 
GF_EXPORT void gf_rtp_reset_ssrc (GF_RTPChannel *ch)
 
GF_EXPORT void gf_rtp_enable_nat_keepalive (GF_RTPChannel *ch, u32 nat_timeout)
 
GF_EXPORT GF_Err gf_rtp_set_info_rtp (GF_RTPChannel *ch, u32 seq_num, u32 rtp_time, u32 ssrc)
 
GF_EXPORT GF_Err gf_rtp_stop (GF_RTPChannel *ch)
 
GF_EXPORT GF_Err gf_rtp_set_ssm (GF_RTPChannel *ch, const char **src_ip_inc, u32 nb_src_ip_inc, const char **src_ip_exc, u32 nb_src_ip_exc)
 
GF_EXPORT GF_Err gf_rtp_initialize (GF_RTPChannel *ch, u32 UDPBufferSize, Bool IsSource, u32 PathMTU, u32 ReorederingSize, u32 MaxReorderDelay, char *local_ip)
 
u32 gf_rtp_channel_time (GF_RTPChannel *ch)
 
u32 gf_rtp_get_report_time ()
 
void gf_rtp_get_next_report_time (GF_RTPChannel *ch)
 
GF_EXPORT u32 gf_rtp_read_flush (GF_RTPChannel *ch, u8 *buffer, u32 buffer_size)
 
GF_EXPORT u32 gf_rtp_flush_rtp (GF_RTPChannel *ch, u8 *buffer, u32 buffer_size)
 
GF_EXPORT u32 gf_rtp_read_rtp (GF_RTPChannel *ch, u8 *buffer, u32 buffer_size)
 
GF_EXPORT GF_Err gf_rtp_decode_rtp (GF_RTPChannel *ch, u8 *pck, u32 pck_size, GF_RTPHeader *rtp_hdr, u32 *PayloadStart)
 
GF_EXPORT Double gf_rtp_get_current_time (GF_RTPChannel *ch)
 
GF_EXPORT GF_Err gf_rtp_send_packet (GF_RTPChannel *ch, GF_RTPHeader *rtp_hdr, u8 *pck, u32 pck_size, Bool fast_send)
 
GF_EXPORT u32 gf_rtp_is_unicast (GF_RTPChannel *ch)
 
GF_EXPORT u32 gf_rtp_is_interleaved (GF_RTPChannel *ch)
 
GF_EXPORT u32 gf_rtp_get_clockrate (GF_RTPChannel *ch)
 
GF_EXPORT u8 gf_rtp_get_low_interleave_id (GF_RTPChannel *ch)
 
GF_EXPORT u8 gf_rtp_get_hight_interleave_id (GF_RTPChannel *ch)
 
GF_EXPORT GF_Err gf_rtp_set_ports (GF_RTPChannel *ch, u16 first_port)
 
GF_EXPORT GF_Err gf_rtp_setup_payload (GF_RTPChannel *ch, u32 PayloadType, u32 ClockRate)
 
GF_EXPORT const GF_RTSPTransportgf_rtp_get_transport (GF_RTPChannel *ch)
 
GF_EXPORT Float gf_rtp_get_loss (GF_RTPChannel *ch)
 
GF_EXPORT u32 gf_rtp_get_tcp_bytes_sent (GF_RTPChannel *ch)
 
GF_EXPORT void gf_rtp_get_ports (GF_RTPChannel *ch, u16 *rtp_port, u16 *rtcp_port)
 
GF_EXPORT GF_RTPReordergf_rtp_reorderer_new (u32 MaxCount, u32 MaxDelay, u32 timescale)
 
GF_EXPORT void gf_rtp_reorderer_del (GF_RTPReorder *po)
 
GF_EXPORT void gf_rtp_reorderer_reset (GF_RTPReorder *po)
 
GF_EXPORT GF_Err gf_rtp_reorderer_add (GF_RTPReorder *po, const void *pck, u32 pck_size, u32 pck_seqnum)
 
GF_EXPORT void * gf_rtp_reorderer_get (GF_RTPReorder *po, u32 *pck_size, Bool force_flush, Bool *is_disc)
 
GF_Err gf_rtp_set_interleave_callbacks (GF_RTPChannel *ch, gf_rtp_tcp_callback RTP_TCPCallback, void *cbk1, void *cbk2)
 
Bool gf_rtp_is_disc (GF_RTPChannel *ch)
 

Variables

static u16 NextAvailablePort = 0
 

Macro Definition Documentation

◆ MAX_RTP_SN

#define MAX_RTP_SN   0x10000

◆ RTP_DEFAULT_FIRSTPORT

#define RTP_DEFAULT_FIRSTPORT   7040

◆ SN_CHECK_OFFSET

#define SN_CHECK_OFFSET   0x0A

Function Documentation

◆ gf_rtp_channel_time()

u32 gf_rtp_channel_time ( GF_RTPChannel *  ch)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_rtp_get_report_time()

u32 gf_rtp_get_report_time ( )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_rtp_get_next_report_time()

void gf_rtp_get_next_report_time ( GF_RTPChannel *  ch)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_rtp_reorderer_new()

GF_EXPORT GF_RTPReorder* gf_rtp_reorderer_new ( u32  MaxCount,
u32  MaxDelay,
u32  timescale 
)
+ Here is the caller graph for this function:

◆ gf_rtp_reorderer_del()

GF_EXPORT void gf_rtp_reorderer_del ( GF_RTPReorder po)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_rtp_reorderer_reset()

GF_EXPORT void gf_rtp_reorderer_reset ( GF_RTPReorder po)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_rtp_reorderer_add()

GF_EXPORT GF_Err gf_rtp_reorderer_add ( GF_RTPReorder po,
const void *  pck,
u32  pck_size,
u32  pck_seqnum 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_rtp_reorderer_get()

GF_EXPORT void* gf_rtp_reorderer_get ( GF_RTPReorder po,
u32 pck_size,
Bool  force_flush,
Bool is_disc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_rtp_is_disc()

Bool gf_rtp_is_disc ( GF_RTPChannel *  ch)
+ Here is the caller graph for this function:

Variable Documentation

◆ NextAvailablePort

u16 NextAvailablePort = 0
static