VLC 4.0.0-dev
|
Functions | |
rtp_session_t * | rtp_session_create (void) |
Creates a new RTP session. More... | |
void | rtp_session_destroy (struct vlc_logger *, rtp_session_t *) |
Destroys an RTP session. More... | |
void | rtp_queue (rtp_sys_t *, rtp_session_t *, block_t *) |
Receives an RTP packet and queues it. More... | |
bool | rtp_dequeue (rtp_sys_t *, const rtp_session_t *, vlc_tick_t *) |
int | rtp_add_type (rtp_session_t *ses, rtp_pt_t *pt) |
Adds a payload type to an RTP session. More... | |
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. More... | |
void * | rtp_dgram_thread (void *data) |
RTP/RTCP session thread for datagram sockets. More... | |
int rtp_add_type | ( | rtp_session_t * | ses, |
rtp_pt_t * | pt | ||
) |
Adds a payload type to an RTP session.
References vlc_rtp_pt::frequency, rtp_session_t::ptc, rtp_session_t::ptv, and rtp_session_t::srcc.
Referenced by vlc_rtp_add_media_types().
bool rtp_dequeue | ( | rtp_sys_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, vlc_frame_t::i_buffer, vlc_frame_t::i_flags, rtp_sys_t::logger, vlc_frame_t::p_buffer, poll(), POLLIN, pollfd::revents, rtp_dequeue(), rtp_process(), rtp_sys_t::rtp_sock, rtp_timeout(), rtp_sys_t::session, unlikely, vlc_dtls_GetPollFD(), vlc_dtls_Recv(), vlc_error, vlc_restorecancel(), vlc_savecancel(), vlc_strerror_c(), vlc_thread_set_name(), VLC_TICK_INVALID, and vlc_warning.
void rtp_queue | ( | rtp_sys_t * | p_sys, |
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, vlc_rtp_pt::frequency, GetDWBE, vlc_frame_t::i_buffer, vlc_frame_t::i_pts, rtp_source_t::jitter, rtp_source_t::last_rx, rtp_source_t::last_seq, rtp_source_t::last_ts, rtp_sys_t::logger, rtp_sys_t::max_dropout, rtp_sys_t::max_misorder, rtp_source_t::max_seq, rtp_sys_t::max_src, vlc_frame_t::p_buffer, vlc_frame_t::p_next, 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, rtp_sys_t::timeout, vlc_debug, vlc_tick_now(), and vlc_warning.
Referenced by rtp_process().
rtp_session_t * rtp_session_create | ( | void | ) |
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 | ( | struct vlc_logger * | logger, |
rtp_session_t * | session | ||
) |
Destroys an RTP session.
References rtp_session_t::ptc, rtp_session_t::ptv, rtp_source_destroy(), rtp_session_t::srcc, rtp_session_t::srcv, and vlc_rtp_pt_release().
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.
References ARRAY_SIZE, vlc_sdp_media::attrs, vlc_sdp_pt::channel_count, vlc_sdp_pt::clock_rate, vlc_sdp_media::format, vlc_sdp_pt::media, msg_Dbg, vlc_sdp_pt::name, name, vlc_sdp_attr::next, vlc_rtp_pt::number, vlc_rtp_pt::owner, vlc_sdp_pt::parameters, rtp_add_type(), vlc_sdp_media::type, vlc_rtp_pt_create(), vlc_rtp_pt_release(), and vlc_rtp_set_default_types().
Referenced by OpenSDP(), and rtp_autodetect().