VLC
4.0.0-dev
|
RTP demux module shared declarations. More...
Go to the source code of this file.
Data Structures | |
struct | rtp_pt_t |
struct | demux_sys_t |
Typedefs | |
typedef struct rtp_pt_t | rtp_pt_t |
typedef struct rtp_session_t | rtp_session_t |
Functions | |
void | rtp_autodetect (demux_t *, rtp_session_t *, const block_t *) |
static uint8_t | rtp_ptype (const block_t *block) |
void * | codec_init (demux_t *demux, es_format_t *fmt) |
void | codec_destroy (demux_t *demux, void *data) |
void | codec_decode (demux_t *demux, void *data, block_t *block) |
void * | theora_init (demux_t *demux) |
void | xiph_destroy (demux_t *demux, void *data) |
void | xiph_decode (demux_t *demux, void *data, block_t *block) |
rtp_session_t * | rtp_session_create (demux_t *) |
Creates a new RTP session. More... | |
void | rtp_session_destroy (demux_t *, rtp_session_t *) |
Destroys an RTP session. More... | |
void | rtp_queue (demux_t *, rtp_session_t *, block_t *) |
Receives an RTP packet and queues it. More... | |
bool | rtp_dequeue (demux_t *, const rtp_session_t *, vlc_tick_t *) |
int | rtp_add_type (demux_t *demux, rtp_session_t *ses, const rtp_pt_t *pt) |
Adds a payload type to an RTP session. More... | |
void * | rtp_dgram_thread (void *data) |
RTP/RTCP session thread for datagram sockets. More... | |
RTP demux module shared declarations.
typedef struct rtp_session_t rtp_session_t |
References block_Release(), es_out_Send(), es_out_SetPCR(), block_t::i_dts, block_t::i_pts, stream_t::out, and VLC_TICK_INVALID.
Referenced by mpa_decode(), mpv_decode(), rtp_autodetect(), xiph_decode(), and xiph_destroy().
void codec_destroy | ( | demux_t * | demux, |
void * | data | ||
) |
References es_out_Del(), and stream_t::out.
Referenced by rtp_autodetect(), xiph_decode(), and xiph_destroy().
void* codec_init | ( | demux_t * | demux, |
es_format_t * | fmt | ||
) |
References aout_FormatPrepare(), es_format_t::audio, AUDIO_ES, es_out_Add(), es_format_t::i_cat, and stream_t::out.
Referenced by gsm_init(), l16m_init(), l16s_init(), mpa_init(), mpv_init(), pcma_init(), pcmu_init(), qcelp_init(), and xiph_decode().
int rtp_add_type | ( | demux_t * | demux, |
rtp_session_t * | ses, | ||
const rtp_pt_t * | pt | ||
) |
Adds a payload type to an RTP session.
References rtp_pt_t::decode, rtp_pt_t::destroy, rtp_pt_t::frequency, rtp_pt_t::header, rtp_pt_t::init, msg_Dbg, msg_Err, no_decode(), no_destroy(), no_init(), rtp_pt_t::number, rtp_session_t::ptc, rtp_session_t::ptv, and rtp_session_t::srcc.
Referenced by rtp_autodetect().
void rtp_autodetect | ( | demux_t * | , |
rtp_session_t * | , | ||
const block_t * | |||
) |
References codec_decode(), codec_destroy(), rtp_pt_t::decode, rtp_pt_t::destroy, rtp_pt_t::frequency, gsm_init(), rtp_pt_t::header, rtp_pt_t::init, l16m_init(), l16s_init(), mpa_decode(), mpa_init(), mpv_decode(), mpv_init(), msg_Dbg, msg_Err, msg_Info, N_, pcma_init(), pcmu_init(), qcelp_init(), rtp_add_type(), rtp_ptype(), stream_decode(), stream_destroy(), stream_header(), theora_init(), ts_init(), var_InheritString(), vlc_dialog_display_error, xiph_decode(), and xiph_destroy().
Referenced by rtp_process().
bool rtp_dequeue | ( | demux_t * | , |
const rtp_session_t * | , | ||
vlc_tick_t * | |||
) |
Referenced by rtp_dgram_thread().
void* rtp_dgram_thread | ( | void * | data | ) |
RTP/RTCP session thread for datagram sockets.
References block_Alloc(), BLOCK_FLAG_CORRUPTED, block_Release(), DEFAULT_MRU, pollfd::events, pollfd::fd, block_t::i_buffer, block_t::i_flags, msg_Err, msg_Warn, block_t::p_buffer, stream_t::p_sys, poll(), POLLIN, pollfd::revents, rtp_dequeue(), rtp_process(), demux_sys_t::rtp_sock, rtp_timeout(), demux_sys_t::session, unlikely, vlc_dtls_GetPollFD(), vlc_dtls_Recv(), vlc_restorecancel(), vlc_savecancel(), vlc_strerror_c(), and VLC_TICK_INVALID.
|
inlinestatic |
References block_t::p_buffer.
Referenced by rtp_autodetect(), rtp_decode(), rtp_find_ptype(), and rtp_process().
void rtp_queue | ( | demux_t * | demux, |
rtp_session_t * | session, | ||
block_t * | block | ||
) |
Receives an RTP packet and queues it.
Not a cancellation point.
demux | VLC demux object |
session | RTP session receiving the packet |
block | RTP packet including the RTP header |
References rtp_source_t::bad_seq, block_ChainRelease(), block_Release(), rtp_source_t::blocks, freq, rtp_pt_t::frequency, GetDWBE, block_t::i_buffer, block_t::i_pts, rtp_source_t::jitter, rtp_source_t::last_rx, rtp_source_t::last_seq, rtp_source_t::last_ts, demux_sys_t::max_dropout, demux_sys_t::max_misorder, rtp_source_t::max_seq, demux_sys_t::max_src, msg_Dbg, msg_Warn, block_t::p_buffer, block_t::p_next, stream_t::p_sys, rtp_find_ptype(), rtp_seq(), rtp_source_create(), rtp_source_destroy(), rtp_timestamp(), samples_from_vlc_tick(), rtp_session_t::srcc, rtp_session_t::srcv, rtp_source_t::ssrc, demux_sys_t::timeout, and vlc_tick_now().
Referenced by rtp_process().
rtp_session_t* rtp_session_create | ( | demux_t * | ) |
Creates a new RTP session.
References rtp_session_t::ptc, rtp_session_t::ptv, rtp_session_t::srcc, and rtp_session_t::srcv.
void rtp_session_destroy | ( | demux_t * | , |
rtp_session_t * | |||
) |
Destroys an RTP session.
References rtp_session_t::ptv, rtp_source_destroy(), rtp_session_t::srcc, and rtp_session_t::srcv.
void* theora_init | ( | demux_t * | demux | ) |
References xiph_init().
Referenced by rtp_autodetect().
References AUDIO_ES, block_Alloc(), BLOCK_FLAG_DISCONTINUITY, block_Realloc(), block_Release(), codec_decode(), codec_destroy(), codec_init(), es_format_Init(), GetDWBE, GetWBE, block_t::i_buffer, es_format_t::i_extra, block_t::i_flags, block_t::i_pts, msg_Dbg, msg_Warn, block_t::p_buffer, es_format_t::p_extra, SetWBE(), VIDEO_ES, VLC_CODEC_THEORA, VLC_CODEC_VORBIS, and xiph_header().
Referenced by rtp_autodetect().
void xiph_destroy | ( | demux_t * | demux, |
void * | data | ||
) |
References rtp_xiph_t::block, BLOCK_FLAG_CORRUPTED, codec_decode(), codec_destroy(), and block_t::i_flags.
Referenced by rtp_autodetect().