libgpac
Documentation of the core library of GPAC
in_rtp.h File Reference
#include <gpac/filters.h>
#include <gpac/constants.h>
#include <gpac/base_coding.h>
#include <gpac/mpeg4_odf.h>
#include <gpac/internal/ietf_dev.h>
#include <gpac/download.h>
+ Include dependency graph for in_rtp.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_RTPIn
 
struct  GF_RTPInRTSP
 
struct  GF_RTPInStream
 
struct  RTPIn_StreamDescribe
 
struct  RTPIn_StreamControl
 

Macros

#define RTSP_BUFFER_SIZE   5000
 

Enumerations

enum  { RTP_TRANSPORT_AUTO =0 , RTP_TRANSPORT_TCP_ONLY , RTP_TRANSPORT_UDP_ONLY }
 
enum  { RETRY_RTSP_NONE =0 , RETRY_RTSP_NORMAL , RETRY_RTSP_FORCE_TCP , RETRY_RTSP_PENDING = 1<<8 }
 
enum  {
  RTSP_AGG_CONTROL = 1 , RTSP_TCP_FLUSH = 1<<1 , RTSP_FORCE_INTER = 1<<2 , RTSP_WAIT_REPLY = 1<<3 ,
  RTSP_DSS_SERVER = 1<<4 , RTSP_AGG_ONLY = 1<<5
}
 
enum  {
  RTP_Setup , RTP_WaitingForAck , RTP_Connected , RTP_Running ,
  RTP_Disconnected , RTP_Unavailable , RTP_WaitForTCPRetry
}
 
enum  {
  RTP_ENABLE_RTCP = 1 , RTP_HAS_RANGE = (1<<1) , RTP_INTERLEAVED = (1<<2) , RTP_FORCE_BROADCAST = (1<<3) ,
  RTP_SKIP_NEXT_COM = (1<<4) , RTP_CONNECTED = (1<<5) , RTP_EOS = (1<<6) , RTP_EOS_FLUSHED = (1<<7) ,
  RTP_AUTH_RESETUP = (1<<8)
}
 
enum  { RTP_SET_TIME_NONE = 0 , RTP_SET_TIME_RTP , RTP_SET_TIME_RTP_SEEK }
 

Functions

GF_RTPInRTSP * rtpin_rtsp_new (GF_RTPIn *rtp, char *session_control)
 
void rtpin_rtsp_del (GF_RTPInRTSP *sess)
 
GF_RTPInRTSP * rtpin_rtsp_check (GF_RTPIn *rtp, char *control)
 
void rtpin_rtsp_process_commands (GF_RTPInRTSP *sess)
 
void rtpin_do_authenticate (GF_RTPIn *ctx)
 
GF_RTPInStream * rtpin_stream_new (GF_RTPIn *rtp, GF_SDPMedia *media, GF_SDPInfo *sdp, GF_RTPInStream *input_stream)
 
GF_RTPInStream * rtpin_stream_new_standalone (GF_RTPIn *rtp, const char *flow_ip, u32 port, Bool for_satip)
 
void rtpin_stream_del (GF_RTPInStream *stream)
 
GF_Err rtpin_stream_init (GF_RTPInStream *stream, Bool ResetOnly)
 
void rtpin_stream_reset_queue (GF_RTPInStream *stream)
 
GF_Err rtpin_rtsp_data_cbk (GF_RTSPSession *sess, void *cbck, u8 *buffer, u32 bufferSize, Bool IsRTCP)
 
void rtpin_stream_ack_connect (GF_RTPInStream *stream, GF_Err e)
 
GF_RTPInStream * rtpin_find_stream (GF_RTPIn *rtp, GF_FilterPid *opid, u32 ES_ID, char *es_control, Bool remove_stream)
 
GF_Err rtpin_add_stream (GF_RTPIn *rtp, GF_RTPInStream *stream, char *session_control)
 
void rtpin_remove_stream (GF_RTPIn *rtp, GF_RTPInStream *stream)
 
u32 rtpin_stream_read (GF_RTPInStream *stream)
 
void rtpin_load_sdp (GF_RTPIn *rtp, char *sdp, u32 sdp_len, GF_RTPInStream *stream)
 
void rtpin_declare_pid (GF_RTPInStream *stream, Bool force_iod, u32 ch_idx, u32 *ocr_es_id)
 
Bool rtpin_rtsp_describe_preprocess (GF_RTPInRTSP *sess, GF_RTSPCommand *com)
 
GF_Err rtpin_rtsp_describe_process (GF_RTPInRTSP *sess, GF_RTSPCommand *com, GF_Err e)
 
void rtpin_rtsp_setup_process (GF_RTPInRTSP *sess, GF_RTSPCommand *com, GF_Err e)
 
void rtpin_rtsp_teardown_process (GF_RTPInRTSP *sess, GF_RTSPCommand *com, GF_Err e)
 
Bool rtpin_rtsp_usercom_preprocess (GF_RTPInRTSP *sess, GF_RTSPCommand *com)
 
void rtpin_rtsp_usercom_process (GF_RTPInRTSP *sess, GF_RTSPCommand *com, GF_Err e)
 
void rtpin_rtsp_describe_send (GF_RTPInRTSP *sess, char *esd_url, GF_FilterPid *opid)
 
void rtpin_rtsp_setup_send (GF_RTPInStream *stream)
 
GF_Err rtpin_stream_setup (GF_RTPInStream *stream, RTPIn_StreamDescribe *ch_desc)
 
void rtpin_rtsp_usercom_send (GF_RTPInRTSP *sess, GF_RTPInStream *stream, const GF_FilterEvent *fevt)
 
void rtpin_rtsp_teardown (GF_RTPInRTSP *sess, GF_RTPInStream *stream)
 
void rtpin_stream_on_rtp_pck (GF_RTPInStream *stream, char *pck, u32 size)
 
void rtpin_satip_get_server_ip (const char *sURL, char *Server)
 

Data Structure Documentation

◆ GF_RTPIn

struct GF_RTPIn
+ Collaboration diagram for GF_RTPIn:
Data Fields
char * src
u32 firstport
u32 ttl
u32 satip_port
const char * ifce
const char * force_mcast
const char * user_agent
const char * languages
Bool use_client_ports
u32 bandwidth
u32 reorder_len
u32 reorder_delay
u32 nat_keepalive
u32 block_size
Bool disable_rtcp
u32 default_port
u32 udp_timeout
u32 rtcp_timeout
u32 stats
Bool forceagg
u32 transport
s32 max_sleep
s32 loss_rate
Bool rtcpsync
GF_PropStringList ssm
GF_PropStringList ssmx
GF_Filter * filter
GF_FilterPid * ipid
u32 sdp_url_crc
Bool sdp_loaded
GF_RTPInRTSP * session
GF_List * streams
u32 first_packet_drop
u32 frequency_drop
u32 stream_type
GF_Descriptor * iod_desc
GF_RTPInStream * postponed_play_stream
GF_FEVT_Play postponed_play
Double last_ntp
Bool is_scalable
Bool done
u32 retry_rtsp
Double last_start_range
u32 cur_mid
u32 min_frame_dur_ms
GF_SockGroup * sockgroup
Bool is_eos
u32 eos_probe_start
u32 nb_bytes_rcv
GF_DownloadManager * dm
char * auth_string
u32 check_creds
GF_UserCredentials * creds
GF_Err notif_error
struct __rtpin_stream * auth_stream

◆ _rtsp_session

struct _rtsp_session
+ Collaboration diagram for GF_RTPInRTSP:
Data Fields
u32 flags
GF_RTPIn * rtpin
GF_RTSPSession * session
char * session_id
char * control
GF_RTSPResponse * rtsp_rsp
Double last_range
u32 command_time
GF_List * rtsp_commands
GF_Err connect_error
Bool satip
char * satip_server

◆ __rtpin_stream

struct __rtpin_stream
+ Collaboration diagram for GF_RTPInStream:
Data Fields
GF_RTPIn * rtpin
u32 flags
GF_RTPInRTSP * rtsp
char * session_id
GF_RTPChannel * rtp_ch
GF_RTPDepacketizer * depacketizer
GF_FilterPid * opid
u32 status
s32 ts_offset
u32 last_stats_time
u32 ES_ID
u32 OD_ID
char * control
char * buffer
u32 check_rtp_time
Double range_start
Double range_end
Double current_start
Bool paused
Bool rtcp_init
u32 last_udp_time
u32 rtp_bytes
u32 rtcp_bytes
u32 stat_start_time
u32 stat_stop_time
u32 ts_res
Bool first_in_rtp_pck
GF_List * pck_queue
u32 mid
u32 prev_stream
u32 base_stream
u32 rtcp_check_start
u32 first_rtp_ts
s64 ts_adjust
u64 init_ntp_us
u32 min_dur_us
u32 min_dur_rtp
u32 prev_cts
u32 sr
u32 nb_ch
Bool map_utc
Bool map_media_time
GF_Err last_err

◆ RTPIn_StreamDescribe

struct RTPIn_StreamDescribe
Data Fields
u32 ES_ID
GF_FilterPid * opid
char * esd_url

◆ RTPIn_StreamControl

struct RTPIn_StreamControl
Data Fields
GF_RTPInStream * stream
GF_FilterEvent evt

Macro Definition Documentation

◆ RTSP_BUFFER_SIZE

#define RTSP_BUFFER_SIZE   5000

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RTP_TRANSPORT_AUTO 
RTP_TRANSPORT_TCP_ONLY 
RTP_TRANSPORT_UDP_ONLY 

◆ anonymous enum

anonymous enum
Enumerator
RETRY_RTSP_NONE 
RETRY_RTSP_NORMAL 
RETRY_RTSP_FORCE_TCP 
RETRY_RTSP_PENDING 

◆ anonymous enum

anonymous enum
Enumerator
RTSP_AGG_CONTROL 
RTSP_TCP_FLUSH 
RTSP_FORCE_INTER 
RTSP_WAIT_REPLY 
RTSP_DSS_SERVER 
RTSP_AGG_ONLY 

◆ anonymous enum

anonymous enum
Enumerator
RTP_Setup 
RTP_WaitingForAck 
RTP_Connected 
RTP_Running 
RTP_Disconnected 
RTP_Unavailable 
RTP_WaitForTCPRetry 

◆ anonymous enum

anonymous enum
Enumerator
RTP_ENABLE_RTCP 
RTP_HAS_RANGE 
RTP_INTERLEAVED 
RTP_FORCE_BROADCAST 
RTP_SKIP_NEXT_COM 
RTP_CONNECTED 
RTP_EOS 
RTP_EOS_FLUSHED 
RTP_AUTH_RESETUP 

◆ anonymous enum

anonymous enum
Enumerator
RTP_SET_TIME_NONE 
RTP_SET_TIME_RTP 
RTP_SET_TIME_RTP_SEEK 

Function Documentation

◆ rtpin_rtsp_new()

GF_RTPInRTSP* rtpin_rtsp_new ( GF_RTPIn rtp,
char *  session_control 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_del()

void rtpin_rtsp_del ( GF_RTPInRTSP *  sess)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_check()

GF_RTPInRTSP* rtpin_rtsp_check ( GF_RTPIn rtp,
char *  control 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_process_commands()

void rtpin_rtsp_process_commands ( GF_RTPInRTSP *  sess)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_do_authenticate()

void rtpin_do_authenticate ( GF_RTPIn ctx)
+ Here is the caller graph for this function:

◆ rtpin_stream_new()

GF_RTPInStream* rtpin_stream_new ( GF_RTPIn rtp,
GF_SDPMedia media,
GF_SDPInfo sdp,
GF_RTPInStream *  input_stream 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_stream_new_standalone()

GF_RTPInStream* rtpin_stream_new_standalone ( GF_RTPIn rtp,
const char *  flow_ip,
u32  port,
Bool  for_satip 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_stream_del()

void rtpin_stream_del ( GF_RTPInStream *  stream)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_stream_init()

GF_Err rtpin_stream_init ( GF_RTPInStream *  stream,
Bool  ResetOnly 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_stream_reset_queue()

void rtpin_stream_reset_queue ( GF_RTPInStream *  stream)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_data_cbk()

GF_Err rtpin_rtsp_data_cbk ( GF_RTSPSession *  sess,
void *  cbck,
u8 buffer,
u32  bufferSize,
Bool  IsRTCP 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_stream_ack_connect()

void rtpin_stream_ack_connect ( GF_RTPInStream *  stream,
GF_Err  e 
)
+ Here is the caller graph for this function:

◆ rtpin_find_stream()

GF_RTPInStream* rtpin_find_stream ( GF_RTPIn rtp,
GF_FilterPid *  opid,
u32  ES_ID,
char *  es_control,
Bool  remove_stream 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_add_stream()

GF_Err rtpin_add_stream ( GF_RTPIn rtp,
GF_RTPInStream *  stream,
char *  session_control 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_remove_stream()

void rtpin_remove_stream ( GF_RTPIn rtp,
GF_RTPInStream *  stream 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_stream_read()

u32 rtpin_stream_read ( GF_RTPInStream *  stream)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_load_sdp()

void rtpin_load_sdp ( GF_RTPIn rtp,
char *  sdp,
u32  sdp_len,
GF_RTPInStream *  stream 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_declare_pid()

void rtpin_declare_pid ( GF_RTPInStream *  stream,
Bool  force_iod,
u32  ch_idx,
u32 ocr_es_id 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_describe_preprocess()

Bool rtpin_rtsp_describe_preprocess ( GF_RTPInRTSP *  sess,
GF_RTSPCommand com 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_describe_process()

GF_Err rtpin_rtsp_describe_process ( GF_RTPInRTSP *  sess,
GF_RTSPCommand com,
GF_Err  e 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_setup_process()

void rtpin_rtsp_setup_process ( GF_RTPInRTSP *  sess,
GF_RTSPCommand com,
GF_Err  e 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_teardown_process()

void rtpin_rtsp_teardown_process ( GF_RTPInRTSP *  sess,
GF_RTSPCommand com,
GF_Err  e 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_usercom_preprocess()

Bool rtpin_rtsp_usercom_preprocess ( GF_RTPInRTSP *  sess,
GF_RTSPCommand com 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_usercom_process()

void rtpin_rtsp_usercom_process ( GF_RTPInRTSP *  sess,
GF_RTSPCommand com,
GF_Err  e 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_describe_send()

void rtpin_rtsp_describe_send ( GF_RTPInRTSP *  sess,
char *  esd_url,
GF_FilterPid *  opid 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_setup_send()

void rtpin_rtsp_setup_send ( GF_RTPInStream *  stream)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_stream_setup()

GF_Err rtpin_stream_setup ( GF_RTPInStream *  stream,
RTPIn_StreamDescribe ch_desc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_usercom_send()

void rtpin_rtsp_usercom_send ( GF_RTPInRTSP *  sess,
GF_RTPInStream *  stream,
const GF_FilterEvent *  fevt 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_rtsp_teardown()

void rtpin_rtsp_teardown ( GF_RTPInRTSP *  sess,
GF_RTPInStream *  stream 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_stream_on_rtp_pck()

void rtpin_stream_on_rtp_pck ( GF_RTPInStream *  stream,
char *  pck,
u32  size 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rtpin_satip_get_server_ip()

void rtpin_satip_get_server_ip ( const char *  sURL,
char *  Server 
)
+ Here is the caller graph for this function: