Libav 0.7.1
Data Structures | Typedefs | Functions
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

Typedefs

typedef struct AVFifoBuffer 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.


Typedef Documentation

typedef struct AVFifoBuffer AVFifoBuffer

Function Documentation

AVFifoBuffer* av_fifo_alloc ( unsigned int  size)

Initialize an AVFifoBuffer.

Parameters:
sizeof 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(), mpeg_mux_init(), start_jack(), swf_write_header(), and transcode().

void av_fifo_drain ( AVFifoBuffer f,
int  size 
)

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

Parameters:
*fAVFifoBuffer to read from
sizeamount 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:
*fAVFifoBuffer to read from
buf_sizenumber of bytes to read
*funcgeneric read function
*destdata 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(), and swf_write_video().

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:
*fAVFifoBuffer to write to
*srcdata source; non-const since it may be used as a modifiable context by the function defined in func
sizenumber of bytes to write
*funcgeneric 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(), 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:
*fAVFifoBuffer to resize
sizenew 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:
*fAVFifoBuffer 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:
*fAVFifoBuffer to write into
Returns:
size

Definition at line 57 of file fifo.c.

Referenced by process_callback(), and supply_new_packets().