FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
Audio FIFO Buffer

Functions

void av_audio_fifo_free (AVAudioFifo *af)
 Free an AVAudioFifo. More...
 
AVAudioFifoav_audio_fifo_alloc (enum AVSampleFormat sample_fmt, int channels, int nb_samples)
 Allocate an AVAudioFifo. More...
 
av_warn_unused_result int av_audio_fifo_realloc (AVAudioFifo *af, int nb_samples)
 Reallocate an AVAudioFifo. More...
 
int av_audio_fifo_write (AVAudioFifo *af, void **data, int nb_samples)
 Write data to an AVAudioFifo. More...
 
int av_audio_fifo_peek (AVAudioFifo *af, void **data, int nb_samples)
 Peek data from an AVAudioFifo. More...
 
int av_audio_fifo_read (AVAudioFifo *af, void **data, int nb_samples)
 Read data from an AVAudioFifo. More...
 
int av_audio_fifo_drain (AVAudioFifo *af, int nb_samples)
 Drain data from an AVAudioFifo. More...
 
void av_audio_fifo_reset (AVAudioFifo *af)
 Reset the AVAudioFifo buffer. More...
 
int av_audio_fifo_size (AVAudioFifo *af)
 Get the current number of samples in the AVAudioFifo available for reading. More...
 
int av_audio_fifo_space (AVAudioFifo *af)
 Get the current number of samples in the AVAudioFifo available for writing. More...
 

Detailed Description

Function Documentation

void av_audio_fifo_free ( AVAudioFifo af)

Free an AVAudioFifo.

Parameters
afAVAudioFifo to free

Definition at line 45 of file audio_fifo.c.

Referenced by av_audio_fifo_alloc(), avresample_close(), config_output(), main(), opus_decode_close(), and uninit().

AVAudioFifo* av_audio_fifo_alloc ( enum AVSampleFormat  sample_fmt,
int  channels,
int  nb_samples 
)

Allocate an AVAudioFifo.

Parameters
sample_fmtsample format
channelsnumber of channels
nb_samplesinitial allocation size, in samples
Returns
newly allocated AVAudioFifo, or NULL on error

Definition at line 60 of file audio_fifo.c.

Referenced by av_buffersink_get_samples(), avresample_open(), config_input(), config_output(), config_props_output(), init_fifo(), and opus_decode_init().

av_warn_unused_result int av_audio_fifo_realloc ( AVAudioFifo af,
int  nb_samples 
)

Reallocate an AVAudioFifo.

Parameters
afAVAudioFifo to reallocate
nb_samplesnew allocation size, in samples
Returns
0 if OK, or negative AVERROR code on failure

Definition at line 97 of file audio_fifo.c.

Referenced by add_samples_to_fifo(), av_audio_fifo_write(), and filter_frame().

int av_audio_fifo_write ( AVAudioFifo af,
void **  data,
int  nb_samples 
)

Write data to an AVAudioFifo.

The AVAudioFifo will be reallocated automatically if the available space is less than nb_samples.

See Also
enum AVSampleFormat The documentation for AVSampleFormat describes the data layout.
Parameters
afAVAudioFifo to write to
dataaudio data plane pointers
nb_samplesnumber of samples to write
Returns
number of samples actually written, or negative AVERROR code on failure. If successful, the number of samples actually written will always be nb_samples.

Definition at line 113 of file audio_fifo.c.

Referenced by add_samples_to_fifo(), av_buffersink_get_samples(), ff_audio_data_add_to_fifo(), filter_frame(), opus_decode_frame(), and opus_decode_packet().

int av_audio_fifo_peek ( AVAudioFifo af,
void **  data,
int  nb_samples 
)

Peek data from an AVAudioFifo.

See Also
enum AVSampleFormat The documentation for AVSampleFormat describes the data layout.
Parameters
afAVAudioFifo to read from
dataaudio data plane pointers
nb_samplesnumber of samples to peek
Returns
number of samples actually peek, or negative AVERROR code on failure. The number of samples actually peek will not be greater than nb_samples, and will only be less than nb_samples if av_audio_fifo_size is less than nb_samples.

Definition at line 139 of file audio_fifo.c.

Referenced by filter_frame().

int av_audio_fifo_read ( AVAudioFifo af,
void **  data,
int  nb_samples 
)

Read data from an AVAudioFifo.

See Also
enum AVSampleFormat The documentation for AVSampleFormat describes the data layout.
Parameters
afAVAudioFifo to read from
dataaudio data plane pointers
nb_samplesnumber of samples to read
Returns
number of samples actually read, or negative AVERROR code on failure. The number of samples actually read will not be greater than nb_samples, and will only be less than nb_samples if av_audio_fifo_size is less than nb_samples.

Definition at line 158 of file audio_fifo.c.

Referenced by avresample_read(), ff_audio_data_read_from_fifo(), load_encode_and_write(), opus_decode_frame(), opus_decode_packet(), opus_flush_resample(), output_frame(), push_samples(), and read_from_fifo().

int av_audio_fifo_drain ( AVAudioFifo af,
int  nb_samples 
)

Drain data from an AVAudioFifo.

Removes the data without reading it.

Parameters
afAVAudioFifo to drain
nb_samplesnumber of samples to drain
Returns
0 if OK, or negative AVERROR code on failure

Definition at line 178 of file audio_fifo.c.

Referenced by avresample_read(), filter_frame(), opus_decode_flush(), and opus_decode_frame().

void av_audio_fifo_reset ( AVAudioFifo af)

Reset the AVAudioFifo buffer.

This empties all data in the buffer.

Parameters
afAVAudioFifo to reset

Definition at line 195 of file audio_fifo.c.

int av_audio_fifo_size ( AVAudioFifo af)
int av_audio_fifo_space ( AVAudioFifo af)

Get the current number of samples in the AVAudioFifo available for writing.

Parameters
afthe AVAudioFifo to query
Returns
number of samples available for writing

Definition at line 210 of file audio_fifo.c.

Referenced by av_audio_fifo_write(), and filter_frame().