FFmpeg
Data Structures | Macros | Typedefs | Functions
fifo.h File Reference
#include <stddef.h>
#include <stdint.h>
#include "attributes.h"
#include "version.h"

Go to the source code of this file.

Data Structures

struct  AVFifoBuffer
 

Macros

#define AV_FIFO_FLAG_AUTO_GROW   (1 << 0)
 Automatically resize the FIFO on writes, so that the data fits. More...
 

Typedefs

typedef int AVFifoCB(void *opaque, void *buf, size_t *nb_elems)
 Callback for writing or reading from a FIFO, passed to (and invoked from) the av_fifo_*_cb() functions. More...
 

Functions

AVFifoav_fifo_alloc2 (size_t elems, size_t elem_size, unsigned int flags)
 Allocate and initialize an AVFifo with a given element size. More...
 
size_t av_fifo_elem_size (const AVFifo *f)
 
void av_fifo_auto_grow_limit (AVFifo *f, size_t max_elems)
 Set the maximum size (in elements) to which the FIFO can be resized automatically. More...
 
size_t av_fifo_can_read (const AVFifo *f)
 
size_t av_fifo_can_write (const AVFifo *f)
 
int av_fifo_grow2 (AVFifo *f, size_t inc)
 Enlarge an AVFifo. More...
 
int av_fifo_write (AVFifo *f, const void *buf, size_t nb_elems)
 Write data into a FIFO. More...
 
int av_fifo_write_from_cb (AVFifo *f, AVFifoCB read_cb, void *opaque, size_t *nb_elems)
 Write data from a user-provided callback into a FIFO. More...
 
int av_fifo_read (AVFifo *f, void *buf, size_t nb_elems)
 Read data from a FIFO. More...
 
int av_fifo_read_to_cb (AVFifo *f, AVFifoCB write_cb, void *opaque, size_t *nb_elems)
 Feed data from a FIFO into a user-provided callback. More...
 
int av_fifo_peek (AVFifo *f, void *buf, size_t nb_elems, size_t offset)
 Read data from a FIFO without modifying FIFO state. More...
 
int av_fifo_peek_to_cb (AVFifo *f, AVFifoCB write_cb, void *opaque, size_t *nb_elems, size_t offset)
 Feed data from a FIFO into a user-provided callback. More...
 
void av_fifo_drain2 (AVFifo *f, size_t size)
 Discard the specified amount of data from an AVFifo. More...
 
void av_fifo_reset2 (AVFifo *f)
 
void av_fifo_freep2 (AVFifo **f)
 Free an AVFifo and reset pointer to NULL. More...
 
attribute_deprecated AVFifoBufferav_fifo_alloc (unsigned int size)
 Initialize an AVFifoBuffer. More...
 
attribute_deprecated AVFifoBufferav_fifo_alloc_array (size_t nmemb, size_t size)
 Initialize an AVFifoBuffer. More...
 
attribute_deprecated void av_fifo_free (AVFifoBuffer *f)
 Free an AVFifoBuffer. More...
 
attribute_deprecated void av_fifo_freep (AVFifoBuffer **f)
 Free an AVFifoBuffer and reset pointer to NULL. More...
 
attribute_deprecated void av_fifo_reset (AVFifoBuffer *f)
 Reset the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied. More...
 
attribute_deprecated int av_fifo_size (const AVFifoBuffer *f)
 Return the amount of data in bytes in the AVFifoBuffer, that is the amount of data you can read from it. More...
 
attribute_deprecated int av_fifo_space (const AVFifoBuffer *f)
 Return the amount of space in bytes in the AVFifoBuffer, that is the amount of data you can write into it. More...
 
attribute_deprecated int av_fifo_generic_peek_at (AVFifoBuffer *f, void *dest, int offset, int buf_size, void(*func)(void *, void *, int))
 Feed data at specific position from an AVFifoBuffer to a user-supplied callback. More...
 
attribute_deprecated int av_fifo_generic_peek (AVFifoBuffer *f, void *dest, int buf_size, void(*func)(void *, void *, int))
 Feed data from an AVFifoBuffer to a user-supplied callback. More...
 
attribute_deprecated 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. More...
 
attribute_deprecated 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. More...
 
attribute_deprecated int av_fifo_realloc2 (AVFifoBuffer *f, unsigned int size)
 Resize an AVFifoBuffer. More...
 
attribute_deprecated int av_fifo_grow (AVFifoBuffer *f, unsigned int additional_space)
 Enlarge an AVFifoBuffer. More...
 
attribute_deprecated void av_fifo_drain (AVFifoBuffer *f, int size)
 Read and discard the specified amount of data from an AVFifoBuffer. More...
 
static attribute_deprecated uint8_t * av_fifo_peek2 (const AVFifoBuffer *f, int offs)
 Return a pointer to the data stored in a FIFO buffer at a certain offset. More...
 

Detailed Description

A generic FIFO API

Definition in file fifo.h.