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
rtp_streamer.c File Reference
+ Include dependency graph for rtp_streamer.c:

Data Structures

struct  GF_RTPStreamer
 RTPStreamer object. More...
 

Functions

static void rtp_stream_on_new_packet (void *cbk, GF_RTPHeader *header)
 
static void rtp_stream_on_packet_done (void *cbk, GF_RTPHeader *header)
 
static void rtp_stream_on_data (void *cbk, char *data, u32 data_size, Bool is_head)
 
static GF_Err rtp_stream_init_channel (GF_RTPStreamer *rtp, u32 path_mtu, const char *dest, int port, int ttl, const char *ifce_addr)
 
GF_RTPStreamer * gf_rtp_streamer_new_extended (u32 streamType, u32 oti, u32 timeScale, const char *ip_dest, u16 port, u32 MTU, u8 TTL, const char *ifce_addr, u32 flags, char *dsi, u32 dsi_len, u32 PayloadType, u32 sample_rate, u32 nb_ch, Bool is_crypted, u32 IV_length, u32 KI_length, u32 MinSize, u32 MaxSize, u32 avgTS, u32 maxDTSDelta, u32 const_dur, u32 bandwidth, u32 max_ptime, u32 au_sn_len)
 RTP Streamer constructor with extended parameters. More...
 
GF_RTPStreamer * gf_rtp_streamer_new (u32 streamType, u32 oti, u32 timeScale, const char *ip_dest, u16 port, u32 MTU, u8 TTL, const char *ifce_addr, u32 flags, char *dsi, u32 dsi_len)
 RTP Streamer constructor. More...
 
void gf_rtp_streamer_del (GF_RTPStreamer *streamer)
 RTP file streamer destructor. More...
 
void gf_media_format_ttxt_sdp (GP_RTPPacketizer *builder, char *payload_name, char *sdpLine, GF_ISOFile *file, u32 track)
 
GF_Err gf_rtp_streamer_append_sdp_extended (GF_RTPStreamer *rtp, u16 ESID, char *dsi, u32 dsi_len, GF_ISOFile *isofile, u32 isotrack, char *KMS_URI, u32 width, u32 height, char **out_sdp_buffer)
 
GF_Err gf_rtp_streamer_append_sdp_decoding_dependency (GF_ISOFile *isofile, u32 isotrack, u8 *payload_type, char **out_sdp_buffer)
 
char * gf_rtp_streamer_format_sdp_header (char *app_name, char *ip_dest, char *session_name, char *iod64)
 
GF_Err gf_rtp_streamer_append_sdp (GF_RTPStreamer *rtp, u16 ESID, char *dsi, u32 dsi_len, char *KMS_URI, char **out_sdp_buffer)
 gets the SDP file More...
 
GF_Err gf_rtp_streamer_send_data (GF_RTPStreamer *rtp, char *data, u32 size, u32 fullsize, u64 cts, u64 dts, Bool is_rap, Bool au_start, Bool au_end, u32 au_sn, u32 sampleDuration, u32 sampleDescIndex)
 
GF_Err gf_rtp_streamer_send_au (GF_RTPStreamer *rtp, char *data, u32 size, u64 cts, u64 dts, Bool is_rap)
 
GF_Err gf_rtp_streamer_send_au_with_sn (GF_RTPStreamer *rtp, char *data, u32 size, u64 cts, u64 dts, Bool is_rap, u32 inc_au_sn)
 
void gf_rtp_streamer_disable_auto_rtcp (GF_RTPStreamer *streamer)
 
GF_Err gf_rtp_streamer_send_rtcp (GF_RTPStreamer *streamer, Bool force_ts, u32 rtp_ts, u32 force_ntp_type, u32 ntp_sec, u32 ntp_frac)
 
u8 gf_rtp_streamer_get_payload_type (GF_RTPStreamer *streamer)
 

Data Structure Documentation

struct __rtp_streamer

This section documents the RTP streamer object of the GPAC framework.

+ Collaboration diagram for GF_RTPStreamer:
Data Fields
GP_RTPPacketizer * packetizer
GF_RTPChannel * channel
char * buffer
u32 payload_len
u32 buffer_alloc
Double ts_scale

Function Documentation

static void rtp_stream_on_new_packet ( void *  cbk,
GF_RTPHeader header 
)
static

+ Here is the caller graph for this function:

static void rtp_stream_on_packet_done ( void *  cbk,
GF_RTPHeader header 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void rtp_stream_on_data ( void *  cbk,
char *  data,
u32  data_size,
Bool  is_head 
)
static

+ Here is the caller graph for this function:

static GF_Err rtp_stream_init_channel ( GF_RTPStreamer *  rtp,
u32  path_mtu,
const char *  dest,
int  port,
int  ttl,
const char *  ifce_addr 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_RTPStreamer* gf_rtp_streamer_new_extended ( u32  streamType,
u32  oti,
u32  timeScale,
const char *  ip_dest,
u16  port,
u32  MTU,
u8  TTL,
const char *  ifce_addr,
u32  flags,
char *  dsi,
u32  dsi_len,
u32  PayloadType,
u32  sample_rate,
u32  nb_ch,
Bool  is_crypted,
u32  IV_length,
u32  KI_length,
u32  MinSize,
u32  MaxSize,
u32  avgTS,
u32  maxDTSDelta,
u32  const_dur,
u32  bandwidth,
u32  max_ptime,
u32  au_sn_len 
)
    Constructs a new RTP file streamer
Parameters
streamTypetype of the stream (GF_STREAM_* as defined in constants.h)
otiMPEG-4 object type indication for the stream (GPAC_OTI_* as defined in constants.h)
timeScaleunit to express timestamps
ip_destIP address of the destination
portport number of the destination
MTUMaximum Transmission Unit size to use
TTLTime To Leave
ifce_addrIP of the local interface to use (may be NULL)
flags
dsiMPEG-4 Decoder Specific Info for the stream
dsi_lenlength of the dsi parameter
PayloadTypeRTP payload type
sample_rateaudio sample rate
nb_chnumber of channels in audio streams
is_cryptedBoolean indicating if the stream is crypted
IV_lengthlenght of the Initialisation Vector used for encryption
KI_lengthlength of the key index
MinSize
MaxSize
avgTS
maxDTSDelta
const_dur
bandwidth
max_ptime
au_sn_lenlength of the MPEG-4 SL descriptor AU sequence number field
Returns
new object

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_RTPStreamer* gf_rtp_streamer_new ( u32  streamType,
u32  oti,
u32  timeScale,
const char *  ip_dest,
u16  port,
u32  MTU,
u8  TTL,
const char *  ifce_addr,
u32  flags,
char *  dsi,
u32  dsi_len 
)
    Constructs a new RTP file streamer
Parameters
streamTypetype of the stream (GF_STREAM_* as defined in constants.h)
otiMPEG-4 object type indication for the stream (GPAC_OTI_* as defined in constants.h)
timeScaleunit to express timestamps
ip_destIP address of the destination
portport number of the destination
MTUMaximum Transmission Unit size to use
TTLTime To Leave
ifce_addrIP of the local interface to use (may be NULL)
flags
dsiMPEG-4 Decoder Specific Info for the stream
dsi_lenlength of the dsi parameter
Returns
new object

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_rtp_streamer_del ( GF_RTPStreamer *  streamer)

Destructs an RTP file streamer

Parameters
streamerobject to destruct

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_media_format_ttxt_sdp ( GP_RTPPacketizer *  builder,
char *  payload_name,
char *  sdpLine,
GF_ISOFile *  file,
u32  track 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtp_streamer_append_sdp_extended ( GF_RTPStreamer *  rtp,
u16  ESID,
char *  dsi,
u32  dsi_len,
GF_ISOFile *  isofile,
u32  isotrack,
char *  KMS_URI,
u32  width,
u32  height,
char **  out_sdp_buffer 
)

defined(GPAC_DISABLE_ISOM) && !defined(GPAC_DISABLE_STREAMING)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtp_streamer_append_sdp_decoding_dependency ( GF_ISOFile *  isofile,
u32  isotrack,
u8 payload_type,
char **  out_sdp_buffer 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

char* gf_rtp_streamer_format_sdp_header ( char *  app_name,
char *  ip_dest,
char *  session_name,
char *  iod64 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtp_streamer_append_sdp ( GF_RTPStreamer *  rtp,
u16  ESID,
char *  dsi,
u32  dsi_len,
char *  KMS_URI,
char **  out_sdp_buffer 
)

Gets the SDP asscoiated with all media in the streaming session (only media parts are returned)

Parameters
rtpRTP streamer object
ESIDThe MPEG-4 elementary stream id of the stream to process
dsiThe MPEG-4 decoder specific info data
dsi_lenlength of The MPEG-4 decoder specific info data
KMS_URIURI of the Key Management System
out_sdp_bufferlocation to the SDP buffer to allocate and fill

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtp_streamer_send_data ( GF_RTPStreamer *  rtp,
char *  data,
u32  size,
u32  fullsize,
u64  cts,
u64  dts,
Bool  is_rap,
Bool  au_start,
Bool  au_end,
u32  au_sn,
u32  sampleDuration,
u32  sampleDescIndex 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_rtp_streamer_send_au ( GF_RTPStreamer *  rtp,
char *  data,
u32  size,
u64  cts,
u64  dts,
Bool  is_rap 
)

+ Here is the call graph for this function:

GF_Err gf_rtp_streamer_send_au_with_sn ( GF_RTPStreamer *  rtp,
char *  data,
u32  size,
u64  cts,
u64  dts,
Bool  is_rap,
u32  inc_au_sn 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_rtp_streamer_disable_auto_rtcp ( GF_RTPStreamer *  streamer)

+ Here is the caller graph for this function:

GF_Err gf_rtp_streamer_send_rtcp ( GF_RTPStreamer *  streamer,
Bool  force_ts,
u32  rtp_ts,
u32  force_ntp_type,
u32  ntp_sec,
u32  ntp_frac 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8 gf_rtp_streamer_get_payload_type ( GF_RTPStreamer *  streamer)

+ Here is the caller graph for this function: