
Data Structures | |
| struct | rtp_session_t |
| State for a RTP session:. More... | |
| struct | rtp_source_t |
| State for an RTP source. More... | |
Typedefs | |
| typedef struct rtp_source_t | rtp_source_t |
Functions | |
| static rtp_source_t * | rtp_source_create (demux_t *demux, const rtp_session_t *session, uint32_t ssrc, uint16_t init_seq) |
| Initializes a new RTP source within an RTP session. | |
| static void | rtp_source_destroy (demux_t *demux, const rtp_session_t *session, rtp_source_t *source) |
| Destroys an RTP source and its associated streams. | |
| static void | rtp_decode (demux_t *, const rtp_session_t *, rtp_source_t *) |
| rtp_session_t * | rtp_session_create (demux_t *demux) |
| Creates a new RTP session. | |
| void | rtp_session_destroy (demux_t *demux, rtp_session_t *session) |
| Destroys an RTP session. | |
| static void * | no_init (demux_t *demux) |
| static void | no_destroy (demux_t *demux, void *opaque) |
| static void | no_decode (demux_t *demux, void *opaque, block_t *block) |
| int | rtp_add_type (demux_t *demux, rtp_session_t *ses, const rtp_pt_t *pt) |
| Adds a payload type to an RTP session. | |
| static uint16_t | rtp_seq (const block_t *block) |
| static uint32_t | rtp_timestamp (const block_t *block) |
| static struct rtp_pt_t * | rtp_find_ptype (const rtp_session_t *session, rtp_source_t *source, const block_t *block, void **pt_data) |
| void | rtp_queue (demux_t *demux, rtp_session_t *session, block_t *block) |
| Receives an RTP packet and queues it. | |
| bool | rtp_dequeue (demux_t *demux, const rtp_session_t *session, mtime_t *restrict deadlinep) |
| Dequeues an RTP packet and pass it to decoder. | |
| typedef struct rtp_source_t rtp_source_t |
| static void no_destroy | ( | demux_t * | demux, | |
| void * | opaque | |||
| ) | [static] |
Referenced by rtp_add_type().
| static void* no_init | ( | demux_t * | demux | ) | [static] |
Referenced by rtp_add_type().
| 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::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().
| static void rtp_decode | ( | demux_t * | demux, | |
| const rtp_session_t * | session, | |||
| rtp_source_t * | src | |||
| ) | [static] |
References BLOCK_FLAG_DISCONTINUITY, block_Release(), rtp_source_t::blocks, CLOCK_FREQ, rtp_pt_t::decode, rtp_pt_t::frequency, GetWBE, block_t::i_buffer, block_t::i_flags, block_t::i_pts, rtp_source_t::last_seq, msg_Dbg, msg_Warn, block_t::p_buffer, block_t::p_next, rtp_source_t::ref_ntp, rtp_source_t::ref_rtp, rtp_find_ptype(), rtp_ptype(), rtp_seq(), and rtp_timestamp().
Referenced by rtp_dequeue().
| bool rtp_dequeue | ( | demux_t * | demux, | |
| const rtp_session_t * | session, | |||
| mtime_t *restrict | deadlinep | |||
| ) |
Dequeues an RTP packet and pass it to decoder.
Not cancellation-safe(?).
| demux | VLC demux object | |
| session | RTP session receiving the packet | |
| deadlinep | pointer to deadline to call rtp_dequeue() again |
References rtp_source_t::blocks, CLOCK_FREQ, rtp_pt_t::frequency, i, block_t::i_pts, rtp_source_t::jitter, rtp_source_t::last_seq, mdate(), rtp_decode(), rtp_find_ptype(), rtp_seq(), src, rtp_session_t::srcc, and rtp_session_t::srcv.
| static struct rtp_pt_t* rtp_find_ptype | ( | const rtp_session_t * | session, | |
| rtp_source_t * | source, | |||
| const block_t * | block, | |||
| void ** | pt_data | |||
| ) | [static, read] |
References i, rtp_pt_t::number, rtp_source_t::opaque, rtp_session_t::ptc, rtp_session_t::ptv, and rtp_ptype().
Referenced by rtp_decode(), rtp_dequeue(), and rtp_queue().
| 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, CLOCK_FREQ, rtp_pt_t::frequency, GetDWBE, i, 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, mdate(), msg_Dbg, msg_Warn, block_t::p_buffer, block_t::p_next, demux_t::p_sys, p_sys, rtp_find_ptype(), rtp_seq(), rtp_source_create(), rtp_source_destroy(), rtp_timestamp(), src, rtp_session_t::srcc, rtp_session_t::srcv, rtp_source_t::ssrc, and demux_sys_t::timeout.
Referenced by rtp_thread().
| static uint16_t rtp_seq | ( | const block_t * | block | ) | [inline, static] |
References GetWBE, block_t::i_buffer, and block_t::p_buffer.
Referenced by rtp_decode(), rtp_dequeue(), and rtp_queue().
| 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 * | demux, | |
| rtp_session_t * | session | |||
| ) |
Destroys an RTP session.
References i, rtp_session_t::ptv, rtp_source_destroy(), rtp_session_t::srcc, and rtp_session_t::srcv.
| static rtp_source_t * rtp_source_create | ( | demux_t * | demux, | |
| const rtp_session_t * | session, | |||
| uint32_t | ssrc, | |||
| uint16_t | init_seq | |||
| ) | [static] |
Initializes a new RTP source within an RTP session.
References rtp_source_t::bad_seq, rtp_source_t::blocks, i, rtp_pt_t::init, rtp_source_t::jitter, rtp_source_t::last_seq, rtp_source_t::max_seq, msg_Dbg, rtp_source_t::opaque, rtp_session_t::ptc, rtp_session_t::ptv, rtp_source_t::ref_ntp, rtp_source_t::ref_rtp, and rtp_source_t::ssrc.
Referenced by rtp_queue().
| static void rtp_source_destroy | ( | demux_t * | demux, | |
| const rtp_session_t * | session, | |||
| rtp_source_t * | source | |||
| ) | [static] |
Destroys an RTP source and its associated streams.
References block_ChainRelease(), rtp_source_t::blocks, rtp_pt_t::destroy, i, msg_Dbg, rtp_source_t::opaque, rtp_session_t::ptc, rtp_session_t::ptv, and rtp_source_t::ssrc.
Referenced by rtp_queue(), and rtp_session_destroy().
| static uint32_t rtp_timestamp | ( | const block_t * | block | ) | [inline, static] |
References GetDWBE, block_t::i_buffer, and block_t::p_buffer.
Referenced by rtp_decode(), and rtp_queue().
1.5.6