GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
ietf_dev.h File Reference
#include <gpac/ietf.h>
#include <gpac/thread.h>
+ Include dependency graph for ietf_dev.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_RTCPHeader
 
struct  GF_POItem
 
struct  GF_RTPReorder
 
struct  GF_RTPChannel
 
struct  GF_TCPChan
 
struct  GF_RTSPSession
 

Macros

#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_FLOAT_WITHOUT_CHECK(buf, buf_size, pos, d)
 
#define RTSP_WRITE_FLOAT(buf, buf_size, pos, d)
 
#define RTSP_PCK_SIZE   6000
 
#define RTSP_TCP_BUF_SIZE   0x10000ul
 

Functions

GF_RTPReordergf_rtp_reorderer_new (u32 MaxCount, u32 MaxDelay)
 
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)
 
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_RTSPSession * gf_rtsp_session_new (char *sURL, u16 DefaultPort)
 
GF_Err gf_rtsp_check_connection (GF_RTSPSession *sess)
 
GF_Err gf_rtsp_send_data (GF_RTSPSession *sess, char *buffer, u32 Size)
 
void gf_rtsp_get_body_info (GF_RTSPSession *sess, u32 *body_start, u32 *body_size)
 
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_RTSPTransportgf_rtsp_transport_parse (char *buffer)
 
GF_Err gf_rtsp_parse_header (char *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 gf_rtsp_set_deinterleave (GF_RTSPSession *sess)
 
GF_Err gf_rtsp_http_tunnel_start (GF_RTSPSession *sess, char *UserAgent)
 
GF_Err gp_rtp_builder_do_mpeg4 (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize)
 
GF_Err gp_rtp_builder_do_h263 (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize)
 
GF_Err gp_rtp_builder_do_amr (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize)
 
GF_Err gp_rtp_builder_do_mpeg12_video (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize)
 
GF_Err gp_rtp_builder_do_mpeg12_audio (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize)
 
GF_Err gp_rtp_builder_do_tx3g (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize, u32 duration, u8 descIndex)
 
GF_Err gp_rtp_builder_do_avc (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize)
 
GF_Err gp_rtp_builder_do_qcelp (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize)
 
GF_Err gp_rtp_builder_do_smv (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize)
 
GF_Err gp_rtp_builder_do_latm (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize, u32 duration)
 
GF_Err gp_rtp_builder_do_dims (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize, u32 duration)
 
GF_Err gp_rtp_builder_do_ac3 (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize)
 
GF_Err gp_rtp_builder_do_hevc (GP_RTPPacketizer *builder, char *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize)
 

Data Structure Documentation

struct GF_RTCPHeader
+ Collaboration diagram for GF_RTCPHeader:
Data Fields
u8 Version
u8 Padding
u8 Count
u8 PayloadType
u16 Length
u32 SSRC
struct GF_POItem
+ Collaboration diagram for GF_POItem:
Data Fields
struct __PRO_item * next
u32 pck_seq_num
void * pck
u32 size
struct GF_RTPReorder
+ Collaboration diagram for GF_RTPReorder:
Data Fields
struct __PRO_item * in
u32 head_seqnum
u32 Count
u32 MaxCount
u32 IsInit
u32 MaxDelay
u32 LastTime
struct __tag_rtp_channel
+ Collaboration diagram for GF_RTPChannel:
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
char * 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
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
struct GF_TCPChan
+ Collaboration diagram for GF_TCPChan:
Data Fields
u8 rtpID
u8 rtcpID
void * ch_ptr

Macro Definition Documentation

#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 
)
Value:
if (strlen((const char *) str)+pos >= buf_size) { \
buf_size += RTSP_WRITE_STEPALLOC; \
buf = (char *) gf_realloc(buf, buf_size); \
} \
strcpy(buf+pos, (const char *) str); \
pos += (u32) strlen((const char *) str); \
void * gf_realloc(void *ptr, size_t size)
Definition: alloc.c:159
#define RTSP_WRITE_STEPALLOC
Definition: ietf_dev.h:184
uint32_t u32
Definition: setup.h:246
#define RTSP_WRITE_ALLOC_STR (   buf,
  buf_size,
  pos,
  str 
)
Value:
if (str){ \
RTSP_WRITE_ALLOC_STR_WITHOUT_CHECK(buf, buf_size, pos, str); \
} \
#define RTSP_WRITE_ALLOC_STR_WITHOUT_CHECK(buf, buf_size, pos, str)
Definition: ietf_dev.h:186
#define RTSP_WRITE_HEADER (   buf,
  buf_size,
  pos,
  type,
  str 
)
Value:
if( str ) { \
RTSP_WRITE_ALLOC_STR(buf, buf_size, pos, type); \
RTSP_WRITE_ALLOC_STR(buf, buf_size, pos, ": "); \
RTSP_WRITE_ALLOC_STR(buf, buf_size, pos, str); \
RTSP_WRITE_ALLOC_STR(buf, buf_size, pos, "\r\n"); \
} \
#define RTSP_WRITE_ALLOC_STR(buf, buf_size, pos, str)
Definition: ietf_dev.h:194
#define RTSP_WRITE_INT (   buf,
  buf_size,
  pos,
  d,
  sig 
)
Value:
if (sig < 0) { \
sprintf(temp, "%d", d); \
} else { \
sprintf(temp, "%d", d); \
} \
RTSP_WRITE_ALLOC_STR_WITHOUT_CHECK(buf, buf_size, pos, temp);
#define RTSP_WRITE_ALLOC_STR_WITHOUT_CHECK(buf, buf_size, pos, str)
Definition: ietf_dev.h:186
#define RTSP_WRITE_FLOAT_WITHOUT_CHECK (   buf,
  buf_size,
  pos,
 
)
Value:
sprintf(temp, "%.4f", d); \
RTSP_WRITE_ALLOC_STR_WITHOUT_CHECK(buf, buf_size, pos, temp);
#define RTSP_WRITE_ALLOC_STR_WITHOUT_CHECK(buf, buf_size, pos, str)
Definition: ietf_dev.h:186
#define RTSP_WRITE_FLOAT (   buf,
  buf_size,
  pos,
 
)
Value:
sprintf(temp, "%.4f", d); \
RTSP_WRITE_ALLOC_STR(buf, buf_size, pos, temp);
#define RTSP_WRITE_ALLOC_STR(buf, buf_size, pos, str)
Definition: ietf_dev.h:194
#define RTSP_PCK_SIZE   6000
#define RTSP_TCP_BUF_SIZE   0x10000ul

Function Documentation

GF_RTPReorder* gf_rtp_reorderer_new ( u32  MaxCount,
u32  MaxDelay 
)

+ Here is the caller graph for this function:

void gf_rtp_reorderer_del ( GF_RTPReorder po)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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_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:

void* gf_rtp_reorderer_get ( GF_RTPReorder po,
u32 pck_size 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_rtp_channel_time ( GF_RTPChannel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_rtp_get_report_time ( )

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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_RTSPSession* gf_rtsp_session_new ( char *  sURL,
u16  DefaultPort 
)

+ Here is the call graph for this function:

GF_Err gf_rtsp_check_connection ( GF_RTSPSession *  sess)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtsp_send_data ( GF_RTSPSession *  sess,
char *  buffer,
u32  Size 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_rtsp_get_body_info ( GF_RTSPSession *  sess,
u32 body_start,
u32 body_size 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtsp_read_reply ( GF_RTSPSession *  sess)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtsp_fill_buffer ( GF_RTSPSession *  sess)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtsp_refill_buffer ( GF_RTSPSession *  sess)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_RTSPTransport* gf_rtsp_transport_parse ( char *  buffer)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtsp_parse_header ( char *  buffer,
u32  BufferSize,
u32  BodyStart,
GF_RTSPCommand com,
GF_RTSPResponse rsp 
)

! empty value !! - DSS may send these for CSeq if something goes wrong

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_rtsp_set_command_value ( GF_RTSPCommand com,
char *  Header,
char *  Value 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_rtsp_set_response_value ( GF_RTSPResponse rsp,
char *  Header,
char *  Value 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtsp_set_deinterleave ( GF_RTSPSession *  sess)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtsp_http_tunnel_start ( GF_RTSPSession *  sess,
char *  UserAgent 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_mpeg4 ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_h263 ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_amr ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_mpeg12_video ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_mpeg12_audio ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_tx3g ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize,
u32  duration,
u8  descIndex 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_avc ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_qcelp ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_smv ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_latm ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize,
u32  duration 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_dims ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize,
u32  duration 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_ac3 ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gp_rtp_builder_do_hevc ( GP_RTPPacketizer *  builder,
char *  data,
u32  data_size,
u8  IsAUEnd,
u32  FullAUSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: