Typedefs | Functions

FileStreamer

FileStreamer object. More...

Typedefs

typedef struct __isom_rtp_streamer GF_ISOMRTPStreamer
typedef struct __rtp_streamer GF_RTPStreamer

Functions

GF_ISOMRTPStreamer * gf_isom_streamer_new (const char *file_name, const char *ip_dest, u16 port, Bool loop, Bool force_mpeg4, u32 path_mtu, u32 ttl, char *ifce_addr)
 ISO File RTP Streamer list constructor.
void gf_isom_streamer_del (GF_ISOMRTPStreamer *streamer)
 RTP file streamer destructor.
GF_Err gf_isom_streamer_write_sdp (GF_ISOMRTPStreamer *streamer, char *sdpfilename)
 writes the SDP file
GF_Err gf_isom_streamer_get_sdp (GF_ISOMRTPStreamer *streamer, char **out_sdp_buffer)
 gets the SDP file
GF_Err gf_isom_streamer_send_next_packet (GF_ISOMRTPStreamer *streamer, s32 send_ahead_delay, s32 max_sleep_time)
 sends RTP packet
void gf_isom_streamer_reset (GF_ISOMRTPStreamer *streamer, Bool is_loop)
 resets RTP sender
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.
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)
void gf_rtp_streamer_del (GF_RTPStreamer *streamer)
 RTP file streamer destructor.
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
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_send_au (GF_RTPStreamer *rtp, char *data, u32 size, u64 cts, u64 dts, Bool is_rap)
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)
char * gf_rtp_streamer_format_sdp_header (char *app_name, char *ip_dest, char *session_name, char *iod64)

Detailed Description

RTPStreamer object.

This section documents the list object of the GPAC framework.

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


Function Documentation

GF_ISOMRTPStreamer* gf_isom_streamer_new ( const char *  file_name,
const char *  ip_dest,
u16  port,
Bool  loop,
Bool  force_mpeg4,
u32  path_mtu,
u32  ttl,
char *  ifce_addr 
)

Constructs a new ISO file RTP streamer

Parameters:
file_name source file name to stream. Hint tracks will be ignored, all media tracks will be streamed
ip_dest destination IP address (V4 or V6, unicast or multicast)
port destination port
loop whether streaming stops at the end of all tracks or not. If not, RTP TS will continuously be incremented
force_mpeg4 forces usage of MPEG-4 generic (RFC3640) for all streams
path_mtu maximum RTP packet payload size allowed
ttl multicast time to live
ifce_addr IP of the local interface to use (may be NULL)
Returns:
new list object
void gf_isom_streamer_del ( GF_ISOMRTPStreamer *  streamer  ) 

Destructs an RTP file streamer

Parameters:
ptr object to destruct
GF_Err gf_isom_streamer_write_sdp ( GF_ISOMRTPStreamer *  streamer,
char *  sdpfilename 
)

Writes the SDP file asscoiated with the streaming session

Parameters:
streamer RTP streamer object
sdpfilename SDP file name to create
GF_Err gf_isom_streamer_get_sdp ( GF_ISOMRTPStreamer *  streamer,
char **  out_sdp_buffer 
)

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

Parameters:
streamer RTP streamer object
out_sdp_buffer location to the SDP buffer to allocate and fill
GF_Err gf_isom_streamer_send_next_packet ( GF_ISOMRTPStreamer *  streamer,
s32  send_ahead_delay,
s32  max_sleep_time 
)

Sends the next RTP packet in the current file, potentially waiting for the TS to be mature. If the last packet is sent and looping is disabled, this will return GF_EOS.

Parameters:
streamer RTP streamer object
send_ahead_delay delay in milliseconds for packet sending. A packet is sent if (packet.timestamp + send_ahead_delay) is greate than the current time.
max_sleep_time indicates that if the streamer has to wait more than max_sleep_time before sending the packet, it should return and send it later.
void gf_isom_streamer_reset ( GF_ISOMRTPStreamer *  streamer,
Bool  is_loop 
)

Reset the RTP streams to the beginning of the media file

Parameters:
streamer RTP streamer object
is_loop indicates whether the RTP timelines shall continue from the end of the file or shall restart from 0
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:
ifce_addr IP of the local interface to use (may be NULL)
Returns:
new object
void gf_rtp_streamer_del ( GF_RTPStreamer *  streamer  ) 

Destructs an RTP file streamer

Parameters:
ptr object to destruct
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:
streamer RTP streamer object
out_sdp_buffer location to the SDP buffer to allocate and fill