Functions

filters.c File Reference

Include dependency graph for filters.c:

Functions

static filter_tFindFilter (vlc_object_t *obj, const audio_sample_format_t *p_input_format, const audio_sample_format_t *p_output_format)
static int SplitConversion (const audio_sample_format_t *restrict infmt, const audio_sample_format_t *restrict outfmt, audio_sample_format_t *midfmt)
 Splits audio format conversion in two simpler conversions.
int aout_FiltersCreatePipeline (vlc_object_t *obj, filter_t **filters, int *nb_filters, const audio_sample_format_t *restrict infmt, const audio_sample_format_t *restrict outfmt)
 Allocates audio format conversion filters.
void aout_FiltersDestroyPipeline (filter_t *const *filters, unsigned n)
 Destroys a chain of audio filters.
void aout_FiltersPlay (filter_t *const *pp_filters, unsigned i_nb_filters, block_t **pp_block)
 Filters an audio buffer through a chain of filters.

Function Documentation

int aout_FiltersCreatePipeline ( vlc_object_t obj,
filter_t **  filters,
int *  nb_filters,
const audio_sample_format_t *restrict  infmt,
const audio_sample_format_t *restrict  outfmt 
)

Allocates audio format conversion filters.

Parameters:
obj parent VLC object for new filters
filters table of filters [IN/OUT]
nb_filters pointer to the number of filters in the table [IN/OUT]
infmt input audio format
outfmt output audio format
Returns:
0 on success, -1 on failure

References _, aout_FiltersDestroyPipeline(), AOUT_FMTS_IDENTICAL, aout_FormatsPrint, dialog_Fatal, FindFilter(), msg_Dbg, msg_Err, and SplitConversion().

void aout_FiltersDestroyPipeline ( filter_t *const *  filters,
unsigned  n 
)
void aout_FiltersPlay ( filter_t *const *  pp_filters,
unsigned  i_nb_filters,
block_t **  pp_block 
)

Filters an audio buffer through a chain of filters.

Referenced by aout_InputPlay(), and aout_OutputPlay().

static filter_t* FindFilter ( vlc_object_t obj,
const audio_sample_format_t p_input_format,
const audio_sample_format_t p_output_format 
) [static]
static int SplitConversion ( const audio_sample_format_t *restrict  infmt,
const audio_sample_format_t *restrict  outfmt,
audio_sample_format_t midfmt 
) [static]

Splits audio format conversion in two simpler conversions.

Returns:
0 on successful split, -1 if the input and output formats are too similar to split the conversion.

References AOUT_FMT_LINEAR, AOUT_FMTS_IDENTICAL, aout_FormatPrepare(), HAVE_FPU, audio_format_t::i_format, audio_format_t::i_original_channels, audio_format_t::i_physical_channels, audio_format_t::i_rate, and VLC_CODEC_FL32.

Referenced by aout_FiltersCreatePipeline().

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines