VLC 4.0.0-dev
No Matches

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...


#define set_rtp_parser_callback(cb)
 Helper to set the RTP payload format parser module capability and callback.


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.


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.


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.