libgpac
Documentation of the core library of GPAC
|
#include <gpac/ietf.h>
Data Structures | |
struct | GF_RTCPHeader |
struct | GF_POItem |
struct | GF_RTPReorder |
struct | GF_RTCP_Report |
struct | GF_RTPChannel |
struct | GF_TCPChan |
struct | GF_RTSPSession |
struct | GP_RTPPacketizer |
struct | GF_RTPDepacketizer |
Macros | |
#define | MAX_RTCP_RR 4 |
#define | GF_RTSP_DEFAULT_BUFFER 2048 |
#define | GF_RTSP_VERSION "RTSP/1.0" |
#define | RTSP_WRITE_STEPALLOC 250 |
#define | RTSP_WRITE_ALLOC_STR_WITHOUT_CHECK(buf, buf_size, pos, str) |
#define | RTSP_WRITE_ALLOC_STR(buf, buf_size, pos, str) |
#define | RTSP_WRITE_HEADER(buf, buf_size, pos, type, str) |
#define | RTSP_WRITE_INT(buf, buf_size, pos, d, sig) |
#define | RTSP_WRITE_HEX(buf, buf_size, pos, d, sig) |
#define | RTSP_WRITE_FLOAT_WITHOUT_CHECK(buf, buf_size, pos, d) |
#define | RTSP_WRITE_FLOAT(buf, buf_size, pos, d) |
#define | RTP_VVC_AGG_NAL 0x1C |
#define | RTP_VVC_FRAG_NAL 0x1D |
Enumerations | |
enum | RTSP_HTTP_Tunnel { RTSP_HTTP_NONE = 0 , RTSP_HTTP_CLIENT , RTSP_HTTP_SERVER , RTSP_HTTP_DISABLE } |
Functions | |
GF_RTPReorder * | gf_rtp_reorderer_new (u32 MaxCount, u32 MaxDelay, u32 rtp_timescale) |
void | gf_rtp_reorderer_del (GF_RTPReorder *po) |
void | gf_rtp_reorderer_reset (GF_RTPReorder *po) |
GF_Err | gf_rtp_reorderer_add (GF_RTPReorder *po, const void *pck, u32 pck_size, u32 pck_seqnum) |
void * | gf_rtp_reorderer_get (GF_RTPReorder *po, u32 *pck_size, Bool force_flush, Bool *is_disc) |
u32 | gf_rtp_channel_time (GF_RTPChannel *ch) |
u32 | gf_rtp_get_report_time () |
void | gf_rtp_get_next_report_time (GF_RTPChannel *ch) |
Bool | gf_rtp_is_disc (GF_RTPChannel *ch) |
GF_RTSPSession * | gf_rtsp_session_new (char *sURL, u16 DefaultPort) |
GF_Err | gf_rtsp_send_data (GF_RTSPSession *sess, u8 *buffer, u32 Size) |
GF_Err | gf_rstp_do_read_sock (GF_RTSPSession *sess, GF_Socket *sock, u8 *data, u32 data_size, u32 *out_read) |
void | gf_rtsp_get_body_info (GF_RTSPSession *sess, u32 *body_start, u32 *body_size, Bool skip_tunnel) |
GF_Err | gf_rtsp_read_reply (GF_RTSPSession *sess) |
GF_Err | gf_rtsp_fill_buffer (GF_RTSPSession *sess) |
GF_Err | gf_rtsp_refill_buffer (GF_RTSPSession *sess) |
GF_RTSPTransport * | gf_rtsp_transport_parse (u8 *buffer) |
GF_Err | gf_rtsp_parse_header (u8 *buffer, u32 BufferSize, u32 BodyStart, GF_RTSPCommand *com, GF_RTSPResponse *rsp) |
void | gf_rtsp_set_command_value (GF_RTSPCommand *com, char *Header, char *Value) |
void | gf_rtsp_set_response_value (GF_RTSPResponse *rsp, char *Header, char *Value) |
GF_Err | gp_rtp_builder_do_mpeg4 (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_h263 (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_amr (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_mpeg12_video (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_mpeg12_audio (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_tx3g (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize, u32 duration, u8 descIndex) |
GF_Err | gp_rtp_builder_do_avc (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_qcelp (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_smv (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_latm (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize, u32 duration) |
GF_Err | gp_rtp_builder_do_ac3 (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_hevc (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_mp2t (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_vvc (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
GF_Err | gp_rtp_builder_do_opus (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize) |
struct GF_RTPReorder |
struct GF_RTCP_Report |
struct __tag_rtp_channel |
RTP channel
Data Fields | ||
---|---|---|
GF_RTSPTransport | net_info | |
GF_Socket * | rtp | |
GF_Socket * | rtcp | |
GF_RTPReorder * | po | |
u32 | last_report_time | |
u32 | next_report_time | |
u32 | last_nat_keepalive_time | |
u32 | nat_keepalive_time_period | |
u32 | rtp_first_SN | |
u32 | rtp_time | |
u32 | CurrentTime | |
u32 | num_sn_loops | |
u8 | PayloadType | |
u32 | TimeScale | |
u8 * | send_buffer | |
u32 | send_buffer_size | |
u32 | pck_sent_since_last_sr | |
u32 | last_pck_ts | |
u32 | last_pck_ntp_sec | |
u32 | last_pck_ntp_frac | |
u32 | num_pck_sent | |
u32 | num_payload_bytes | |
u32 | forced_ntp_sec | |
u32 | forced_ntp_frac | |
u32 | force_loss_rate | |
Bool | no_auto_rtcp | |
char * | s_name | |
char * | s_email | |
char * | s_location | |
char * | s_phone | |
char * | s_tool | |
char * | s_note | |
char * | s_priv | |
s8 | first_SR | |
u32 | SSRC | |
u32 | SenderSSRC | |
u32 | last_pck_sn | |
Bool | packet_loss | |
char * | CName | |
u32 | rtcp_bytes_sent | |
u32 | tot_num_pck_rcv | |
u32 | tot_num_pck_expected | |
u32 | last_num_pck_rcv | |
u32 | last_num_pck_expected | |
u32 | last_num_pck_loss | |
u32 | Jitter | |
u32 | ntp_init | |
s32 | last_deviance | |
u32 | last_SR_NTP_sec | |
u32 | last_SR_NTP_frac | |
u32 | last_SR_rtp_time | |
u32 | total_pck | |
u32 | total_bytes | |
GF_BitStream * | bs_r | |
GF_BitStream * | bs_w | |
Bool | no_select | |
gf_rtp_tcp_callback | send_interleave | |
void * | interleave_cbk1 | |
void * | interleave_cbk2 | |
GF_RTCP_Report | rtcp_rr[MAX_RTCP_RR] | |
u32 | nb_rctp_rr | |
const char * | netcap_id | |
const char ** | ssm | |
const char ** | ssmx | |
u32 | nb_ssm | |
u32 | nb_ssmx | |
u8 | disc_state |
struct __tag_rtp_packetizer |
RTP builder (packetizer)
Data Fields | ||
---|---|---|
GF_SLHeader | sl_header | |
u32 | nb_aus |
#define MAX_RTCP_RR 4 |
#define GF_RTSP_DEFAULT_BUFFER 2048 |
#define GF_RTSP_VERSION "RTSP/1.0" |
#define RTSP_WRITE_STEPALLOC 250 |
#define RTSP_WRITE_ALLOC_STR_WITHOUT_CHECK | ( | buf, | |
buf_size, | |||
pos, | |||
str | |||
) |
#define RTSP_WRITE_ALLOC_STR | ( | buf, | |
buf_size, | |||
pos, | |||
str | |||
) |
#define RTSP_WRITE_HEADER | ( | buf, | |
buf_size, | |||
pos, | |||
type, | |||
str | |||
) |
#define RTSP_WRITE_INT | ( | buf, | |
buf_size, | |||
pos, | |||
d, | |||
sig | |||
) |
#define RTSP_WRITE_HEX | ( | buf, | |
buf_size, | |||
pos, | |||
d, | |||
sig | |||
) |
#define RTSP_WRITE_FLOAT_WITHOUT_CHECK | ( | buf, | |
buf_size, | |||
pos, | |||
d | |||
) |
#define RTSP_WRITE_FLOAT | ( | buf, | |
buf_size, | |||
pos, | |||
d | |||
) |
#define RTP_VVC_AGG_NAL 0x1C |
#define RTP_VVC_FRAG_NAL 0x1D |
enum RTSP_HTTP_Tunnel |
GF_RTPReorder* gf_rtp_reorderer_new | ( | u32 | MaxCount, |
u32 | MaxDelay, | ||
u32 | rtp_timescale | ||
) |
void gf_rtp_reorderer_del | ( | GF_RTPReorder * | po | ) |
void gf_rtp_reorderer_reset | ( | GF_RTPReorder * | po | ) |
GF_Err gf_rtp_reorderer_add | ( | GF_RTPReorder * | po, |
const void * | pck, | ||
u32 | pck_size, | ||
u32 | pck_seqnum | ||
) |
void* gf_rtp_reorderer_get | ( | GF_RTPReorder * | po, |
u32 * | pck_size, | ||
Bool | force_flush, | ||
Bool * | is_disc | ||
) |
u32 gf_rtp_channel_time | ( | GF_RTPChannel * | ch | ) |
u32 gf_rtp_get_report_time | ( | ) |
void gf_rtp_get_next_report_time | ( | GF_RTPChannel * | ch | ) |
Bool gf_rtp_is_disc | ( | GF_RTPChannel * | ch | ) |
GF_Err gf_rstp_do_read_sock | ( | GF_RTSPSession * | sess, |
GF_Socket * | sock, | ||
u8 * | data, | ||
u32 | data_size, | ||
u32 * | out_read | ||
) |
void gf_rtsp_get_body_info | ( | GF_RTSPSession * | sess, |
u32 * | body_start, | ||
u32 * | body_size, | ||
Bool | skip_tunnel | ||
) |
GF_Err gf_rtsp_read_reply | ( | GF_RTSPSession * | sess | ) |
GF_Err gf_rtsp_fill_buffer | ( | GF_RTSPSession * | sess | ) |
GF_Err gf_rtsp_refill_buffer | ( | GF_RTSPSession * | sess | ) |
GF_RTSPTransport* gf_rtsp_transport_parse | ( | u8 * | buffer | ) |
GF_Err gf_rtsp_parse_header | ( | u8 * | buffer, |
u32 | BufferSize, | ||
u32 | BodyStart, | ||
GF_RTSPCommand * | com, | ||
GF_RTSPResponse * | rsp | ||
) |
! empty value !! - DSS may send these for CSeq if something goes wrong
void gf_rtsp_set_command_value | ( | GF_RTSPCommand * | com, |
char * | Header, | ||
char * | Value | ||
) |
void gf_rtsp_set_response_value | ( | GF_RTSPResponse * | rsp, |
char * | Header, | ||
char * | Value | ||
) |
GF_Err gp_rtp_builder_do_mpeg4 | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_h263 | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_amr | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_mpeg12_video | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_mpeg12_audio | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_tx3g | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize, | ||
u32 | duration, | ||
u8 | descIndex | ||
) |
GF_Err gp_rtp_builder_do_avc | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_qcelp | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_smv | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_latm | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize, | ||
u32 | duration | ||
) |
GF_Err gp_rtp_builder_do_ac3 | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_hevc | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_mp2t | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |
GF_Err gp_rtp_builder_do_vvc | ( | GP_RTPPacketizer * | builder, |
u8 * | data, | ||
u32 | data_size, | ||
u8 | IsAUEnd, | ||
u32 | FullAUSize | ||
) |