|
Functions | |
| int | rtp_fill_buffers (rtp_thread *) |
| int | rtp_fill_buffer (rtp_ssrc *, rtp_frame *, rtp_buff *) |
| double | rtp_get_next_ts (rtp_ssrc *) |
| int16_t | rtp_get_next_pt (rtp_ssrc *) |
| void | rtp_update_fps (rtp_ssrc *stm_src, uint32_t, unsigned) |
| float | rtp_get_fps (rtp_ssrc *) |
| rtp_pkt * | rtp_get_n_pkt (rtp_ssrc *, unsigned int *, unsigned) |
| rtp_pkt * | rtp_get_pkt (rtp_ssrc *, size_t *) |
| int | rtp_rm_pkt (rtp_ssrc *) |
| void | rtp_rm_all_pkts (rtp_ssrc *) |
| int rtp_fill_buffer | ( | rtp_ssrc * | stm_src, | |
| rtp_frame * | fr, | |||
| rtp_buff * | config | |||
| ) |
fills the frame with depacketized data (full frame or sample group) and provides optional extradata if available. The structs MUST be empty and the data delivered MUST not be freed.
| stm_src | an active ssrc | |
| fr | an empty frame structure | |
| config | an empty buffer structure |
Definition at line 54 of file rtp_buffer.c.
References rtp_get_pkt().

| int rtp_fill_buffers | ( | rtp_thread * | rtp_th | ) |
Waits for rtp thread to be ready and reports if the stream reached the end
Definition at line 37 of file rtp_buffer.c.
| float rtp_get_fps | ( | rtp_ssrc * | stm_src | ) |
Guess the fps based on what is available on the buffer.
| stm_src | an active ssrc |
Definition at line 156 of file rtp_buffer.c.
| int16_t rtp_get_next_pt | ( | rtp_ssrc * | stm_src | ) |
Gets the payload type id for the next packet in the buffer
| stm_src | The source from which to get the packet |
Definition at line 127 of file rtp_buffer.c.
References rtp_pkt::pt, and rtp_get_pkt().

| double rtp_get_next_ts | ( | rtp_ssrc * | stm_src | ) |
Gets the time in seconds between the first packet of the RTP stream and the next one in the buffer.
| stm_src | The source from which to get the packet |
Definition at line 109 of file rtp_buffer.c.
References rtp_pkt::pt, and rtp_get_pkt().

| rtp_pkt* rtp_get_pkt | ( | rtp_ssrc * | stm_src, | |
| size_t * | len | |||
| ) |
Returns a pointer to next packet in the bufferpool for given playout buffer. WARNING: the pointer returned is the memory space of the slot inside buffer pool: Once the packet is decoded it must be removed from rtp queue using
| stm_src | The source for which to get the packet. | |
| len | this is a return parameter for lenght of pkt. NULL value is allowed: in this case, we understand that you are not interested about this value. shawill: this function put its dirty hands on bufferpool internals!!! |
Definition at line 211 of file rtp_buffer.c.
References rtp_rm_pkt().
Referenced by aac_parse(), h263_parse(), h264_parse(), m4v_parse(), rtp_fill_buffer(), rtp_get_next_pt(), rtp_get_next_ts(), theora_parse(), and vorbis_parse().

| void rtp_rm_all_pkts | ( | rtp_ssrc * | stm_src | ) |
Clears the playoutbuffer and the socket buffer for the given source
| stm_src | The source for which to remove all the pending packets |
Definition at line 276 of file rtp_buffer.c.
References buffer_pool_t::cond_full, buffer_pool_t::fl_mutex, buffer_pool_t::flcount, buffer_pool_t::flhead, buffer_pool_t::freelist, poitem::next, playout_buff_t::po_mutex, playout_buff_t::pobuff, playout_buff_t::pocount, playout_buff_t::pohead, playout_buff_t::potail, poitem::prev, and socket_clear().

| int rtp_rm_pkt | ( | rtp_ssrc * | stm_src | ) | [inline] |
Removes the first packet from the playout buffer
| stm_src | The source for which to remove the packet |
Definition at line 239 of file rtp_buffer.c.
References bprmv().
Referenced by aac_parse(), h263_parse(), h264_parse(), m4v_parse(), and rtp_get_pkt().

| void rtp_update_fps | ( | rtp_ssrc * | stm_src, | |
| uint32_t | timestamp, | |||
| unsigned | pt | |||
| ) |
Guess the fps based on timestamps of incoming packets.
| stm_src | an active ssrc | |
| timestamp | the time stamp of the last received packet |
Definition at line 142 of file rtp_buffer.c.
Referenced by rtp_recv().
1.5.4