* - i_flags may not always be set (ie could be 0, even for a key frame
* it depends where you receive the buffer (before/after a packetizer
* and the demux/packetizer implementations.
- * - i_dts/i_pts could be 0, it means no pts
+ * - i_dts/i_pts could be VLC_TS_INVALID, it means no pts/dts
* - i_length: length in microseond of the packet, can be null except in the
* sout where it is mandatory.
* - i_rate 0 or a valid input rate, look at vlc_input.h
struct block_t
{
block_t *p_next;
- block_t *p_prev;
uint32_t i_flags;
{
size_t i_size = 0;
mtime_t i_length = 0;
- int i_count;
+ int i_count = 0;
while( p_list )
{
* needed), be carefull, you can use it ONLY if you are sure to be the
* only one getting data from the fifo.
* - block_FifoCount : how many packets are waiting in the fifo
- * - block_FifoSize : how many cumulated bytes are waiting in the fifo
* - block_FifoWake : wake ups a thread with block_FifoGet() = NULL
* (this is used to wakeup a thread when there is no data to queue)
*
VLC_EXPORT( block_fifo_t *, block_FifoNew, ( void ) LIBVLC_USED );
VLC_EXPORT( void, block_FifoRelease, ( block_fifo_t * ) );
+/* TODO: do we need to export this? */
+void block_FifoPace (block_fifo_t *fifo, size_t max_depth, size_t max_size);
VLC_EXPORT( void, block_FifoEmpty, ( block_fifo_t * ) );
VLC_EXPORT( size_t, block_FifoPut, ( block_fifo_t *, block_t * ) );
VLC_EXPORT( void, block_FifoWake, ( block_fifo_t * ) );
VLC_EXPORT( block_t *, block_FifoGet, ( block_fifo_t * ) LIBVLC_USED );
VLC_EXPORT( block_t *, block_FifoShow, ( block_fifo_t * ) );
-VLC_EXPORT( size_t, block_FifoSize, ( const block_fifo_t *p_fifo ) LIBVLC_USED );
+size_t block_FifoSize( const block_fifo_t *p_fifo ) LIBVLC_USED;
VLC_EXPORT( size_t, block_FifoCount, ( const block_fifo_t *p_fifo ) LIBVLC_USED );
#endif /* VLC_BLOCK_H */