libavutil/fifo.h File Reference

a very simple circular buffer FIFO implementation More...

#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  AVFifoBuffer

Functions

AVFifoBufferav_fifo_alloc (unsigned int size)
 Initialize an AVFifoBuffer.
void av_fifo_free (AVFifoBuffer *f)
 Free an AVFifoBuffer.
void av_fifo_reset (AVFifoBuffer *f)
 Reset the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied.
int av_fifo_size (AVFifoBuffer *f)
 Return the amount of data in bytes in the AVFifoBuffer, that is the amount of data you can read from it.
int av_fifo_space (AVFifoBuffer *f)
 Return the amount of space in bytes in the AVFifoBuffer, that is the amount of data you can write into it.
int av_fifo_generic_read (AVFifoBuffer *f, void *dest, int buf_size, void(*func)(void *, void *, int))
 Feed data from an AVFifoBuffer to a user-supplied callback.
int av_fifo_generic_write (AVFifoBuffer *f, void *src, int size, int(*func)(void *, void *, int))
 Feed data from a user-supplied callback to an AVFifoBuffer.
int av_fifo_realloc2 (AVFifoBuffer *f, unsigned int size)
 Resize an AVFifoBuffer.
void av_fifo_drain (AVFifoBuffer *f, int size)
 Read and discard the specified amount of data from an AVFifoBuffer.
static uint8_t av_fifo_peek (AVFifoBuffer *f, int offs)


Detailed Description

a very simple circular buffer FIFO implementation

Definition in file fifo.h.


Function Documentation

AVFifoBuffer* av_fifo_alloc ( unsigned int  size  ) 

Initialize an AVFifoBuffer.

Parameters:
size of FIFO
Returns:
AVFifoBuffer or NULL in case of memory allocation failure

Definition at line 25 of file fifo.c.

Referenced by av_fifo_realloc2(), dv_init_mux(), ff_audio_interleave_init(), flac_parse_init(), init(), mpeg_mux_init(), start_jack(), swf_write_header(), transcode(), and udp_open().

void av_fifo_drain ( AVFifoBuffer f,
int  size 
)

Read and discard the specified amount of data from an AVFifoBuffer.

Parameters:
*f AVFifoBuffer to read from
size amount of data to read in bytes

Definition at line 123 of file fifo.c.

Referenced by av_fifo_generic_read(), dv_assemble_frame(), and flac_parse().

void av_fifo_free ( AVFifoBuffer f  ) 

int av_fifo_generic_read ( AVFifoBuffer f,
void *  dest,
int  buf_size,
void(*)(void *, void *, int)  func 
)

Feed data from an AVFifoBuffer to a user-supplied callback.

Parameters:
*f AVFifoBuffer to read from
buf_size number of bytes to read
*func generic read function
*dest data destination

Definition at line 105 of file fifo.c.

Referenced by audio_read_packet(), av_fifo_realloc2(), do_audio_out(), ff_interleave_new_audio_packet(), flush_packet(), free_pkt_fifo(), output_packet(), process_callback(), request_frame(), swf_write_video(), udp_read(), and uninit().

int av_fifo_generic_write ( AVFifoBuffer f,
void *  src,
int  size,
int(*)(void *, void *, int)  func 
)

Feed data from a user-supplied callback to an AVFifoBuffer.

Parameters:
*f AVFifoBuffer to write to
*src data source; non-const since it may be used as a modifiable context by the function defined in func
size number of bytes to write
*func generic write function; the first parameter is src, the second is dest_buf, the third is dest_buf_size. func must return the number of bytes written to dest_buf, or <= 0 to indicate no more data available to write. If func is NULL, src is interpreted as a simple byte array for source data.
Returns:
the number of bytes written to the FIFO

Definition at line 82 of file fifo.c.

Referenced by do_audio_out(), dv_assemble_frame(), ff_audio_rechunk_interleave(), flac_parse(), mpeg_mux_write_packet(), process_callback(), start_frame(), supply_new_packets(), and swf_write_audio().

static uint8_t av_fifo_peek ( AVFifoBuffer f,
int  offs 
) [inline, static]

Definition at line 109 of file fifo.h.

Referenced by dv_inject_audio().

int av_fifo_realloc2 ( AVFifoBuffer f,
unsigned int  size 
)

Resize an AVFifoBuffer.

Parameters:
*f AVFifoBuffer to resize
size new AVFifoBuffer size in bytes
Returns:
<0 for failure, >=0 otherwise

Definition at line 62 of file fifo.c.

Referenced by do_audio_out(), ff_audio_rechunk_interleave(), flac_parse(), and mpeg_mux_write_packet().

void av_fifo_reset ( AVFifoBuffer f  ) 

Reset the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied.

Parameters:
*f AVFifoBuffer to reset

Definition at line 46 of file fifo.c.

Referenced by av_fifo_alloc().

int av_fifo_size ( AVFifoBuffer f  ) 

int av_fifo_space ( AVFifoBuffer f  ) 

Return the amount of space in bytes in the AVFifoBuffer, that is the amount of data you can write into it.

Parameters:
*f AVFifoBuffer to write into
Returns:
size

Definition at line 57 of file fifo.c.

Referenced by circular_buffer_task(), poll_frame(), process_callback(), start_frame(), and supply_new_packets().


Generated on Fri Oct 26 02:39:49 2012 for FFmpeg by  doxygen 1.5.8