VLC 4.0.0-dev
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages

RTP demux module shared declarations. More...

Go to the source code of this file.

Data Structures

struct  vlc_sdp_pt
 Payload type mapping. More...
 
struct  vlc_rtp_pktinfo
 RTP packet infos. More...
 
struct  vlc_rtp_pt_operations
 RTP payload type operations. More...
 
struct  vlc_rtp_pt_owner_operations
 RTP payload type owner operations. More...
 
struct  vlc_rtp_pt_owner
 RTP payload type owner. More...
 
struct  vlc_rtp_pt
 RTP payload type. More...
 
struct  vlc_rtp_es_operations
 RTP abstract output stream operations. More...
 
struct  vlc_rtp_es
 RTP abstract output stream. More...
 

Macros

#define set_rtp_parser_callback(cb)
 Helper to set the RTP payload format parser module capability and callback.
 
#define RTP_MAX_SRC_DEFAULT   1
 
#define RTP_MAX_DROPOUT_DEFAULT   3000
 
#define RTP_MAX_TIMEOUT_DEFAULT   5
 
#define RTP_MAX_MISORDER_DEFAULT   100
 

Typedefs

typedef struct vlc_rtp_pt rtp_pt_t
 
typedef struct rtp_session_t rtp_session_t
 
typedef int(* vlc_rtp_parser_cb) (vlc_object_t *obj, struct vlc_rtp_pt *pt, const struct vlc_sdp_pt *desc)
 Callback prototype for RTP parser module.
 

Functions

void vlc_rtp_pt_release (struct vlc_rtp_pt *pt)
 Destroys a payload type parameter set.
 
static void * vlc_rtp_pt_begin (struct vlc_rtp_pt *pt)
 Binds a payload type to a source.
 
static void vlc_rtp_pt_end (struct vlc_rtp_pt *pt, void *data)
 Unbinds a payload type from a source.
 
static void vlc_rtp_pt_decode (struct vlc_rtp_pt *pt, void *data, block_t *pkt, const struct vlc_rtp_pktinfo *restrict info)
 Processes a payload packet.
 
static struct vlc_rtp_esvlc_rtp_pt_request_es (struct vlc_rtp_pt *pt, const es_format_t *restrict fmt)
 Starts an elementary stream (ES).
 
static struct vlc_rtp_esvlc_rtp_pt_request_mux (struct vlc_rtp_pt *pt, const char *name)
 Starts a complete multiplex.
 
static void vlc_rtp_es_destroy (struct vlc_rtp_es *es)
 Destroys an vlc_rtp_es.
 
static void vlc_rtp_es_send (struct vlc_rtp_es *es, block_t *block)
 Sends coded data for output.
 
int vlc_rtp_pt_instantiate (vlc_object_t *obj, struct vlc_rtp_pt *restrict pt, const struct vlc_sdp_pt *restrict desc)
 
void rtp_autodetect (vlc_object_t *, rtp_session_t *, const struct vlc_rtp_pt_owner *restrict)
 
static uint8_t rtp_ptype (const block_t *block)
 
rtp_session_trtp_session_create (void)
 
rtp_session_trtp_session_create_custom (uint16_t max_dropout, uint16_t max_misorder, uint8_t max_src, vlc_tick_t timeout)
 Creates a new RTP session.
 
void rtp_session_destroy (struct vlc_logger *, rtp_session_t *)
 Destroys an RTP session.
 
void rtp_queue (struct vlc_logger *, rtp_session_t *, block_t *)
 Receives an RTP packet and queues it.
 
bool rtp_dequeue (struct vlc_logger *, const rtp_session_t *, vlc_tick_t, vlc_tick_t *)
 
int rtp_add_type (rtp_session_t *ses, rtp_pt_t *pt)
 Adds a payload type to an RTP session.
 
int vlc_rtp_add_media_types (vlc_object_t *obj, rtp_session_t *ses, const struct vlc_sdp_media *media, const struct vlc_rtp_pt_owner *restrict owner)
 Registers all payload types declared in an SDP media.
 
void * rtp_dgram_thread (void *data)
 RTP/RTCP session thread for datagram sockets.
 

Variables

struct vlc_rtp_es *const vlc_rtp_es_dummy
 A (pointer to a) dummy output that discards data.
 

Detailed Description

RTP demux module shared declarations.