338#define set_rtp_parser_callback(cb) \ 
  340        vlc_rtp_parser_cb cb__ = (cb); (void) cb__; \ 
  342        set_capability("rtp parser", 0) \
 
void rtp_autodetect(vlc_object_t *, rtp_session_t *, const struct vlc_rtp_pt_owner *restrict)
 
static void * vlc_rtp_pt_begin(struct vlc_rtp_pt *pt)
Binds a payload type to a source.
Definition: rtp.h:195
 
static void vlc_rtp_es_destroy(struct vlc_rtp_es *es)
Destroys an vlc_rtp_es.
Definition: rtp.h:298
 
static uint8_t rtp_ptype(const block_t *block)
Definition: rtp.h:351
 
static struct vlc_rtp_es * vlc_rtp_pt_request_mux(struct vlc_rtp_pt *pt, const char *name)
Starts a complete multiplex.
Definition: rtp.h:256
 
static void vlc_rtp_pt_end(struct vlc_rtp_pt *pt, void *data)
Unbinds a payload type from a source.
Definition: rtp.h:210
 
void vlc_rtp_pt_release(struct vlc_rtp_pt *pt)
Destroys a payload type parameter set.
Definition: rtpfmt.c:154
 
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.
Definition: rtp.h:332
 
static void vlc_rtp_es_send(struct vlc_rtp_es *es, block_t *block)
Sends coded data for output.
Definition: rtp.h:310
 
int vlc_rtp_pt_instantiate(vlc_object_t *obj, struct vlc_rtp_pt *restrict pt, const struct vlc_sdp_pt *restrict desc)
Definition: rtp.c:155
 
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.
Definition: rtp.h:224
 
struct vlc_rtp_es *const vlc_rtp_es_dummy
A (pointer to a) dummy output that discards data.
Definition: rtpfmt.c:332
 
static struct vlc_rtp_es * vlc_rtp_pt_request_es(struct vlc_rtp_pt *pt, const es_format_t *restrict fmt)
Starts an elementary stream (ES).
Definition: rtp.h:242
 
int rtp_add_type(rtp_session_t *ses, rtp_pt_t *pt)
Adds a payload type to an RTP session.
Definition: session.c:91
 
void rtp_queue(rtp_sys_t *, rtp_session_t *, block_t *)
Receives an RTP packet and queues it.
Definition: session.c:202
 
void * rtp_dgram_thread(void *data)
RTP/RTCP session thread for datagram sockets.
Definition: input.c:100
 
bool rtp_dequeue(rtp_sys_t *, const rtp_session_t *, vlc_tick_t *)
 
void rtp_session_destroy(struct vlc_logger *, rtp_session_t *)
Destroys an RTP session.
Definition: session.c:75
 
rtp_session_t * rtp_session_create(void)
Creates a new RTP session.
Definition: session.c:57
 
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.
Definition: rtpfmt.c:229
 
const char name[16]
Definition: httpd.c:1281
 
State for a RTP session:
Definition: session.c:40
 
vlc_tick_t timeout
Definition: rtp.h:372
 
struct vlc_demux_chained_t * chained_demux
Definition: rtp.h:364
 
uint16_t max_dropout
Max packet forward misordering.
Definition: rtp.h:373
 
struct vlc_dtls * rtcp_sock
Definition: rtp.h:369
 
rtp_session_t * session
Definition: rtp.h:363
 
struct vlc_dtls * rtp_sock
Definition: rtp.h:368
 
uint8_t max_src
Max simultaneous RTP sources.
Definition: rtp.h:375
 
uint16_t max_misorder
Max packet backward misordering.
Definition: rtp.h:374
 
struct vlc_logger * logger
Definition: rtp.h:361
 
vlc_thread_t thread
Definition: rtp.h:370
 
Definition: demux_chained.c:36
 
Datagram socket.
Definition: vlc_dtls.h:29
 
Definition: vlc_frame.h:123
 
uint8_t * p_buffer
Payload start.
Definition: vlc_frame.h:126
 
Definition: messages.c:85
 
VLC object common members.
Definition: vlc_objects.h:45
 
RTP abstract output stream operations.
Definition: rtp.h:268
 
void(* destroy)(struct vlc_rtp_es *es)
Destroys the corresponding vlc_rtp_es.
Definition: rtp.h:274
 
void(* send)(struct vlc_rtp_es *es, block_t *block)
Passes data for processing to a vlc_rtp_es.
Definition: rtp.h:280
 
RTP abstract output stream.
Definition: rtp.h:289
 
const struct vlc_rtp_es_operations * ops
Definition: rtp.h:290
 
RTP packet infos.
Definition: rtp.h:76
 
bool m
M bit from the RTP header.
Definition: rtp.h:77
 
RTP payload type operations.
Definition: rtp.h:86
 
void *(* init)(struct vlc_rtp_pt *pt)
Starts using a payload type.
Definition: rtp.h:110
 
void(* release)(struct vlc_rtp_pt *pt)
Releases the payload type.
Definition: rtp.h:95
 
void(* decode)(struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
Processes a data payload.
Definition: rtp.h:130
 
void(* destroy)(struct vlc_rtp_pt *pt, void *data)
Stops using a payload type.
Definition: rtp.h:120
 
RTP payload type owner operations.
Definition: rtp.h:143
 
struct vlc_rtp_es *(* request_mux)(struct vlc_rtp_pt *pt, const char *name)
Definition: rtp.h:146
 
struct vlc_rtp_es *(* request_es)(struct vlc_rtp_pt *pt, const es_format_t *restrict fmt)
Definition: rtp.h:144
 
RTP payload type owner.
Definition: rtp.h:155
 
void * data
Owner private data.
Definition: rtp.h:157
 
const struct vlc_rtp_pt_owner_operations * ops
Owner callbacks.
Definition: rtp.h:156
 
RTP payload type.
Definition: rtp.h:167
 
void * opaque
Private data pointer.
Definition: rtp.h:169
 
uint32_t frequency
RTP clock rate (Hz)
Definition: rtp.h:171
 
uint8_t number
RTP payload type number within the session (0-127)
Definition: rtp.h:172
 
struct vlc_rtp_pt_owner owner
Definition: rtp.h:170
 
const struct vlc_rtp_pt_operations * ops
Payload format callbacks.
Definition: rtp.h:168
 
uint8_t channel_count
Channel count (zero if unspecified)
Definition: rtp.h:173
 
Payload type mapping.
Definition: rtp.h:62
 
char name[16]
RTP payload format name, i.e.
Definition: rtp.h:64
 
unsigned char channel_count
Number of channels (0 if unspecified)
Definition: rtp.h:66
 
const struct vlc_sdp_media * media
Containant SDP media description.
Definition: rtp.h:63
 
const char * parameters
Format parameters from the a=fmtp line.
Definition: rtp.h:67
 
unsigned int clock_rate
RTP clock rate (in Hertz)
Definition: rtp.h:65
 
Thread handle.
Definition: vlc_threads.h:160
 
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45