
Defines | |
| #define | AOUT_ASSERT_FIFO_LOCKED aout_assert_fifo_locked(p_aout, p_fifo) |
Functions | |
| static void | aout_assert_fifo_locked (aout_instance_t *p_aout, aout_fifo_t *p_fifo) |
| static void | aout_Destructor (vlc_object_t *p_this) |
| aout_instance_t * | __aout_New (vlc_object_t *p_parent) |
| unsigned int | aout_FormatNbChannels (const audio_sample_format_t *p_format) |
| unsigned int | aout_BitsPerSample (vlc_fourcc_t i_format) |
| void | aout_FormatPrepare (audio_sample_format_t *p_format) |
| const char * | aout_FormatPrintChannels (const audio_sample_format_t *p_format) |
| void | aout_FormatPrint (aout_instance_t *p_aout, const char *psz_text, const audio_sample_format_t *p_format) |
| void | aout_FormatsPrint (aout_instance_t *p_aout, const char *psz_text, const audio_sample_format_t *p_format1, const audio_sample_format_t *p_format2) |
| void | aout_FifoInit (aout_instance_t *p_aout, aout_fifo_t *p_fifo, uint32_t i_rate) |
| void | aout_FifoPush (aout_instance_t *p_aout, aout_fifo_t *p_fifo, aout_buffer_t *p_buffer) |
| void | aout_FifoSet (aout_instance_t *p_aout, aout_fifo_t *p_fifo, mtime_t date) |
| void | aout_FifoMoveDates (aout_instance_t *p_aout, aout_fifo_t *p_fifo, mtime_t difference) |
| mtime_t | aout_FifoNextStart (aout_instance_t *p_aout, aout_fifo_t *p_fifo) |
| mtime_t | aout_FifoFirstDate (aout_instance_t *p_aout, aout_fifo_t *p_fifo) |
| aout_buffer_t * | aout_FifoPop (aout_instance_t *p_aout, aout_fifo_t *p_fifo) |
| void | aout_FifoDestroy (aout_instance_t *p_aout, aout_fifo_t *p_fifo) |
| int | aout_CheckChannelReorder (const uint32_t *pi_chan_order_in, const uint32_t *pi_chan_order_out, uint32_t i_channel_mask, int i_channels, int *pi_chan_table) |
| This function computes the reordering needed to go from pi_chan_order_in to pi_chan_order_out. | |
| void | aout_ChannelReorder (uint8_t *p_buf, int i_buffer, int i_channels, const int *pi_chan_table, int i_bits_per_sample) |
| static void | ExtractChannel (uint8_t *pi_dst, int i_dst_channels, const uint8_t *pi_src, int i_src_channels, int i_sample_count, const int *pi_selection, int i_bytes) |
| void | aout_ChannelExtract (void *p_dst, int i_dst_channels, const void *p_src, int i_src_channels, int i_sample_count, const int *pi_selection, int i_bits_per_sample) |
| Do the actual channels extraction using the parameters created by aout_CheckChannelExtraction. | |
| bool | aout_CheckChannelExtraction (int *pi_selection, uint32_t *pi_layout, int *pi_channels, const uint32_t pi_order_dst[9], const uint32_t *pi_order_src, int i_channels) |
| This fonction will compute the extraction parameter into pi_selection to go from i_channels with their type given by pi_order_src[] into the order describe by pi_order_dst. | |
| aout_buffer_t * | aout_BufferAlloc (aout_alloc_t *allocation, mtime_t microseconds, aout_buffer_t *old_buffer) |
| #define AOUT_ASSERT_FIFO_LOCKED aout_assert_fifo_locked(p_aout, p_fifo) |
| aout_instance_t* __aout_New | ( | vlc_object_t * | p_parent | ) |
References aout_Destructor(), aout_output_t::b_error, aout_output_t::b_starving, aout_instance_t::i_nb_inputs, aout_instance_t::input_fifos_lock, aout_instance_t::mixer_lock, aout_instance_t::mixer_multiplier, aout_instance_t::output, aout_instance_t::output_fifo_lock, aout_instance_t::p_mixer, var_Create, var_SetBool, vlc_custom_create, vlc_mutex_init(), VLC_OBJECT_AOUT, vlc_object_set_destructor, VLC_VAR_BOOL, and aout_instance_t::volume_vars_lock.
| static void aout_assert_fifo_locked | ( | aout_instance_t * | p_aout, | |
| aout_fifo_t * | p_fifo | |||
| ) | [inline, static] |
| unsigned int aout_BitsPerSample | ( | vlc_fourcc_t | i_format | ) |
References AUDIO_ES, VLC_CODEC_F32B, VLC_CODEC_F32L, VLC_CODEC_F64B, VLC_CODEC_F64L, VLC_CODEC_FI32, VLC_CODEC_S16B, VLC_CODEC_S16L, VLC_CODEC_S24B, VLC_CODEC_S24L, VLC_CODEC_S32B, VLC_CODEC_S32L, VLC_CODEC_S8, VLC_CODEC_U16B, VLC_CODEC_U16L, VLC_CODEC_U24B, VLC_CODEC_U24L, VLC_CODEC_U8, and vlc_fourcc_GetCodec().
Referenced by aout_FormatPrepare(), EsOutUpdateInfo(), OpenFilter(), and transcode_audio_new().
| aout_buffer_t* aout_BufferAlloc | ( | aout_alloc_t * | allocation, | |
| mtime_t | microseconds, | |||
| aout_buffer_t * | old_buffer | |||
| ) |
References aout_alloc_t::b_alloc, block_Alloc(), and aout_alloc_t::i_bytes_per_sec.
Referenced by aout_DecNewBuffer(), aout_DecPlay(), and MixBuffer().
| void aout_ChannelExtract | ( | void * | p_dst, | |
| int | i_dst_channels, | |||
| const void * | p_src, | |||
| int | i_src_channels, | |||
| int | i_sample_count, | |||
| const int * | pi_selection, | |||
| int | i_bits_per_sample | |||
| ) |
Do the actual channels extraction using the parameters created by aout_CheckChannelExtraction.
XXX this function does not work in place (p_dst and p_src must not overlap). XXX Only 8, 16, 24, 32, 64 bits per sample are supported.
References ExtractChannel().
Referenced by SplitBuffer().
| void aout_ChannelReorder | ( | uint8_t * | p_buf, | |
| int | i_buffer, | |||
| int | i_channels, | |||
| const int * | pi_chan_table, | |||
| int | i_bits_per_sample | |||
| ) |
| bool aout_CheckChannelExtraction | ( | int * | pi_selection, | |
| uint32_t * | pi_layout, | |||
| int * | pi_channels, | |||
| const uint32_t | pi_order_dst[9], | |||
| const uint32_t * | pi_order_src, | |||
| int | i_channels | |||
| ) |
This fonction will compute the extraction parameter into pi_selection to go from i_channels with their type given by pi_order_src[] into the order describe by pi_order_dst.
It will also set :
It will return true if channel extraction is really needed, in which case aout_ChannelExtract must be used
XXX It must be used when the source may have channel type not understood by VLC. In this case the channel type pi_order_src[] must be set to 0. XXX It must also be used if multiple channels have the same type.
References AOUT_CHAN_CENTER, AOUT_CHAN_DUALMONO, AOUT_CHAN_LEFT, AOUT_CHAN_RIGHT, pi_index, and pi_vlc_chan_order_wg4.
Referenced by SetupOutputFormat().
| int aout_CheckChannelReorder | ( | const uint32_t * | pi_chan_order_in, | |
| const uint32_t * | pi_chan_order_out, | |||
| uint32_t | i_channel_mask, | |||
| int | i_channels, | |||
| int * | pi_chan_table | |||
| ) |
This function computes the reordering needed to go from pi_chan_order_in to pi_chan_order_out.
If pi_chan_order_in or pi_chan_order_out is NULL, it will assume that vlc internal (WG4) order is requested.
References AOUT_CHAN_MAX, and pi_vlc_chan_order_wg4.
Referenced by AddStream(), ConfigureChannelOrder(), CreateDSBuffer(), Open(), and OpenWaveOut().
| static void aout_Destructor | ( | vlc_object_t * | p_this | ) | [static] |
References aout_instance_t::input_fifos_lock, aout_instance_t::mixer_lock, aout_instance_t::output_fifo_lock, vlc_mutex_destroy(), and aout_instance_t::volume_vars_lock.
Referenced by __aout_New().
| void aout_FifoDestroy | ( | aout_instance_t * | p_aout, | |
| aout_fifo_t * | p_fifo | |||
| ) |
References AOUT_ASSERT_FIFO_LOCKED, aout_BufferFree, aout_fifo_t::p_first, block_t::p_next, and aout_fifo_t::pp_last.
Referenced by aout_InputDelete(), aout_OutputDelete(), and inputFailure().
| mtime_t aout_FifoFirstDate | ( | aout_instance_t * | p_aout, | |
| aout_fifo_t * | p_fifo | |||
| ) |
| void aout_FifoInit | ( | aout_instance_t * | p_aout, | |
| aout_fifo_t * | p_fifo, | |||
| uint32_t | i_rate | |||
| ) |
References AOUT_ASSERT_FIFO_LOCKED, date_Init(), aout_fifo_t::end_date, msg_Err, aout_fifo_t::p_first, and aout_fifo_t::pp_last.
Referenced by aout_InputCheckAndRestart(), aout_InputNew(), and aout_OutputNew().
| void aout_FifoMoveDates | ( | aout_instance_t * | p_aout, | |
| aout_fifo_t * | p_fifo, | |||
| mtime_t | difference | |||
| ) |
References AOUT_ASSERT_FIFO_LOCKED, date_Move(), aout_fifo_t::end_date, block_t::i_pts, aout_fifo_t::p_first, and block_t::p_next.
Referenced by aout_OutputNextBuffer().
| mtime_t aout_FifoNextStart | ( | aout_instance_t * | p_aout, | |
| aout_fifo_t * | p_fifo | |||
| ) |
References AOUT_ASSERT_FIFO_LOCKED, date_Get(), and aout_fifo_t::end_date.
Referenced by aout_InputPlay().
| aout_buffer_t* aout_FifoPop | ( | aout_instance_t * | p_aout, | |
| aout_fifo_t * | p_fifo | |||
| ) |
References AOUT_ASSERT_FIFO_LOCKED, aout_fifo_t::p_first, block_t::p_next, and aout_fifo_t::pp_last.
Referenced by DoWork(), MixBuffer(), Play(), SDLCallback(), and Thread().
| void aout_FifoPush | ( | aout_instance_t * | p_aout, | |
| aout_fifo_t * | p_fifo, | |||
| aout_buffer_t * | p_buffer | |||
| ) |
References AOUT_ASSERT_FIFO_LOCKED, date_Get(), date_Increment(), date_Set(), aout_fifo_t::end_date, block_t::i_length, block_t::i_nb_samples, block_t::i_pts, block_t::p_next, and aout_fifo_t::pp_last.
Referenced by aout_InputPlay(), and aout_OutputPlay().
| void aout_FifoSet | ( | aout_instance_t * | p_aout, | |
| aout_fifo_t * | p_fifo, | |||
| mtime_t | date | |||
| ) |
References AOUT_ASSERT_FIFO_LOCKED, aout_BufferFree, date_Set(), aout_fifo_t::end_date, aout_fifo_t::p_first, block_t::p_next, and aout_fifo_t::pp_last.
Referenced by aout_DecFlush(), aout_InputPlay(), aout_OutputNextBuffer(), and MixBuffer().
| unsigned int aout_FormatNbChannels | ( | const audio_sample_format_t * | p_format | ) |
References AOUT_CHAN_CENTER, AOUT_CHAN_LEFT, AOUT_CHAN_LFE, AOUT_CHAN_MIDDLELEFT, AOUT_CHAN_MIDDLERIGHT, AOUT_CHAN_REARCENTER, AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT, AOUT_CHAN_RIGHT, audio_format_t::i_physical_channels, and pi_channels.
Referenced by aout_FormatPrepare(), Convert(), Create(), DecNew(), Do_F32_S32(), Do_F32ToS16(), Do_FL32ToF32(), Do_S16ToF32(), Do_S32_S16(), Do_S32ToF32(), Do_U8ToF32(), DoWork(), IsSupported(), Open(), OpenAnalog(), OpenFilter(), Probe(), RenderCallbackAnalog(), Resample(), and stereo2mono_downmix().
| void aout_FormatPrepare | ( | audio_sample_format_t * | p_format | ) |
References aout_BitsPerSample(), aout_FormatNbChannels(), audio_format_t::i_bitspersample, audio_format_t::i_bytes_per_frame, audio_format_t::i_channels, audio_format_t::i_format, and audio_format_t::i_frame_length.
Referenced by aout_InputNew(), aout_OutputNew(), DecNew(), OpenAnalog(), OpenSPDIF(), SplitConversion(), and transcode_audio_filter_chain_build().
| void aout_FormatPrint | ( | aout_instance_t * | p_aout, | |
| const char * | psz_text, | |||
| const audio_sample_format_t * | p_format | |||
| ) |
References aout_FormatPrintChannels(), audio_format_t::i_bytes_per_frame, audio_format_t::i_format, audio_format_t::i_frame_length, audio_format_t::i_rate, and msg_Dbg.
Referenced by aout_InputNew(), and aout_OutputNew().
| const char* aout_FormatPrintChannels | ( | const audio_sample_format_t * | p_format | ) |
References AOUT_CHAN_CENTER, AOUT_CHAN_DOLBYSTEREO, AOUT_CHAN_DUALMONO, AOUT_CHAN_LEFT, AOUT_CHAN_LFE, AOUT_CHAN_MIDDLELEFT, AOUT_CHAN_MIDDLERIGHT, AOUT_CHAN_PHYSMASK, AOUT_CHAN_REARCENTER, AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT, AOUT_CHAN_REVERSESTEREO, AOUT_CHAN_RIGHT, audio_format_t::i_original_channels, and audio_format_t::i_physical_channels.
Referenced by aout_FormatPrint(), aout_FormatsPrint(), EsOutUpdateInfo(), and OpenAnalog().
| void aout_FormatsPrint | ( | aout_instance_t * | p_aout, | |
| const char * | psz_text, | |||
| const audio_sample_format_t * | p_format1, | |||
| const audio_sample_format_t * | p_format2 | |||
| ) |
References aout_FormatPrintChannels(), audio_format_t::i_format, audio_format_t::i_rate, and msg_Dbg.
Referenced by aout_FiltersCreatePipeline().
| static void ExtractChannel | ( | uint8_t * | pi_dst, | |
| int | i_dst_channels, | |||
| const uint8_t * | pi_src, | |||
| int | i_src_channels, | |||
| int | i_sample_count, | |||
| const int * | pi_selection, | |||
| int | i_bytes | |||
| ) | [inline, static] |
Referenced by aout_ChannelExtract().
1.5.6