FFmpeg
Data Structures | Functions
audio_data.h File Reference
#include <stdint.h>
#include "libavutil/audio_fifo.h"
#include "libavutil/log.h"
#include "libavutil/samplefmt.h"
#include "avresample.h"
#include "internal.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, uint8_t **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.
 
  Free AudioData.
 
  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_set_channels ( AudioDataa,
int  channels 
)

Definition at line 51 of file audio_data.c.

Referenced by avresample_convert(), and ff_audio_mix().

int ff_audio_data_init ( AudioDataa,
uint8_t **  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().

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(), ff_audio_resample_init(), and ff_dither_alloc().

int ff_audio_data_realloc ( AudioDataa,
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(), ff_audio_resample(), and ff_convert_dither().

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(), ff_audio_resample_init(), and ff_dither_free().

int ff_audio_data_copy ( AudioDataout,
AudioDatain,
ChannelMapInfomap 
)

Copy data from one AudioData to another.

Parameters
out output AudioData
in input AudioData
map channel map, NULL if not remapping
Returns
0 on success, negative AVERROR value on error

Definition at line 216 of file audio_data.c.

Referenced by avresample_convert(), ff_convert_dither(), and handle_buffered_output().

int ff_audio_data_combine ( AudioDatadst,
int  dst_offset,
AudioDatasrc,
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 269 of file audio_data.c.

Referenced by ff_audio_resample().

void ff_audio_data_drain ( AudioDataa,
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 325 of file audio_data.c.

Referenced by ff_audio_resample().

int ff_audio_data_add_to_fifo ( AVAudioFifoaf,
AudioDataa,
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 342 of file audio_data.c.

Referenced by avresample_set_compensation(), and handle_buffered_output().

int ff_audio_data_read_from_fifo ( AVAudioFifoaf,
AudioDataa,
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 357 of file audio_data.c.

Referenced by avresample_set_compensation(), and handle_buffered_output().


Generated on Sat Jan 25 2014 19:52:21 for FFmpeg by   doxygen 1.8.2

AltStyle によって変換されたページ (->オリジナル) /