libavresample/audio_data.h File Reference

#include <stdint.h>
#include "libavutil/audio_fifo.h"
#include "libavutil/log.h"
#include "libavutil/samplefmt.h"
#include "avresample.h"

Go to the source code of this file.

Data Structures

struct  AudioData
 Audio buffer used for intermediate storage between conversion phases. More...

Functions

int ff_audio_data_set_channels (AudioData *a, int channels)
int ff_audio_data_init (AudioData *a, void **src, int plane_size, int channels, int nb_samples, enum AVSampleFormat sample_fmt, int read_only, const char *name)
 Initialize AudioData using a given source.
AudioDataff_audio_data_alloc (int channels, int nb_samples, enum AVSampleFormat sample_fmt, const char *name)
 Allocate AudioData.
int ff_audio_data_realloc (AudioData *a, int nb_samples)
 Reallocate AudioData.
void ff_audio_data_free (AudioData **a)
 Free AudioData.
int ff_audio_data_copy (AudioData *out, AudioData *in)
 Copy data from one AudioData to another.
int ff_audio_data_combine (AudioData *dst, int dst_offset, AudioData *src, int src_offset, int nb_samples)
 Append data from one AudioData to the end of another.
void ff_audio_data_drain (AudioData *a, int nb_samples)
 Drain samples from the start of the AudioData.
int ff_audio_data_add_to_fifo (AVAudioFifo *af, AudioData *a, int offset, int nb_samples)
 Add samples in AudioData to an AVAudioFifo.
int ff_audio_data_read_from_fifo (AVAudioFifo *af, AudioData *a, int nb_samples)
 Read samples from an AVAudioFifo to AudioData.


Function Documentation

int ff_audio_data_add_to_fifo ( AVAudioFifo af,
AudioData a,
int  offset,
int  nb_samples 
)

Add samples in AudioData to an AVAudioFifo.

Parameters:
af Audio FIFO Buffer
a AudioData struct
offset number of samples to skip from the start of the data
nb_samples number of samples to add to the FIFO
Returns:
number of samples actually added to the FIFO, or negative AVERROR code on error

Definition at line 316 of file audio_data.c.

Referenced by avresample_set_compensation(), and handle_buffered_output().

AudioData* ff_audio_data_alloc ( int  channels,
int  nb_samples,
enum AVSampleFormat  sample_fmt,
const char *  name 
)

Allocate AudioData.

This allocates an internal buffer and sets audio parameters.

Parameters:
channels channel count
nb_samples number of samples to allocate space for
sample_fmt sample format
name name for debug logging (can be NULL)
Returns:
newly allocated AudioData struct, or NULL on error

Definition at line 110 of file audio_data.c.

Referenced by avresample_open(), avresample_set_compensation(), and ff_audio_resample_init().

int ff_audio_data_combine ( AudioData dst,
int  dst_offset,
AudioData src,
int  src_offset,
int  nb_samples 
)

Append data from one AudioData to the end of another.

Parameters:
dst destination AudioData
dst_offset offset, in samples, to start writing, relative to the start of dst
src source AudioData
src_offset offset, in samples, to start copying, relative to the start of the src
nb_samples number of samples to copy
Returns:
0 on success, negative AVERROR value on error

Definition at line 243 of file audio_data.c.

Referenced by ff_audio_resample().

int ff_audio_data_copy ( AudioData out,
AudioData in 
)

Copy data from one AudioData to another.

Parameters:
out output AudioData
in input AudioData
Returns:
0 on success, negative AVERROR value on error

Definition at line 216 of file audio_data.c.

Referenced by avresample_convert(), and handle_buffered_output().

void ff_audio_data_drain ( AudioData a,
int  nb_samples 
)

Drain samples from the start of the AudioData.

Remaining samples are shifted to the start of the AudioData.

Parameters:
a AudioData struct
nb_samples number of samples to drain

Definition at line 299 of file audio_data.c.

Referenced by ff_audio_resample().

void ff_audio_data_free ( AudioData **  a  ) 

Free AudioData.

The AudioData must have been previously allocated with ff_audio_data_alloc().

Parameters:
a AudioData struct

Definition at line 208 of file audio_data.c.

Referenced by avresample_close(), avresample_set_compensation(), ff_audio_resample_free(), and ff_audio_resample_init().

int ff_audio_data_init ( AudioData a,
void **  src,
int  plane_size,
int  channels,
int  nb_samples,
enum AVSampleFormat  sample_fmt,
int  read_only,
const char *  name 
)

Initialize AudioData using a given source.

This does not allocate an internal buffer. It only sets the data pointers and audio parameters.

Parameters:
a AudioData struct
src source data pointers
plane_size plane size, in bytes. This can be 0 if unknown, but that will lead to optimized functions not being used in many cases, which could slow down some conversions.
channels channel count
nb_samples number of samples in the source data
sample_fmt sample format
read_only indicates if buffer is read only or read/write
name name for debug logging (can be NULL)
Returns:
0 on success, negative AVERROR value on error

Definition at line 65 of file audio_data.c.

Referenced by avresample_convert().

int ff_audio_data_read_from_fifo ( AVAudioFifo af,
AudioData a,
int  nb_samples 
)

Read samples from an AVAudioFifo to AudioData.

Parameters:
af Audio FIFO Buffer
a AudioData struct
nb_samples number of samples to read from the FIFO
Returns:
number of samples actually read from the FIFO, or negative AVERROR code on error

Definition at line 331 of file audio_data.c.

Referenced by avresample_set_compensation(), and handle_buffered_output().

int ff_audio_data_realloc ( AudioData a,
int  nb_samples 
)

Reallocate AudioData.

The AudioData must have been previously allocated with ff_audio_data_alloc().

Parameters:
a AudioData struct
nb_samples number of samples to allocate space for
Returns:
0 on success, negative AVERROR value on error

Definition at line 153 of file audio_data.c.

Referenced by avresample_convert(), ff_audio_data_alloc(), ff_audio_data_combine(), ff_audio_data_copy(), ff_audio_data_read_from_fifo(), and ff_audio_resample().

int ff_audio_data_set_channels ( AudioData a,
int  channels 
)

Definition at line 51 of file audio_data.c.

Referenced by avresample_convert(), and ff_audio_mix().


Generated on Fri Oct 26 02:50:11 2012 for FFmpeg by  doxygen 1.5.8