
Functions | |
| static void | aout_Destructor (vlc_object_t *p_this) |
| audio_output_t * | aout_New (vlc_object_t *p_parent) |
| void | aout_Destroy (audio_output_t *aout) |
| 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 (vlc_object_t *obj, const char *psz_text, const audio_sample_format_t *p_format) |
| Prints an audio sample format in a human-readable form. | |
| void | aout_FormatsPrint (vlc_object_t *obj, const char *psz_text, const audio_sample_format_t *p_format1, const audio_sample_format_t *p_format2) |
| Prints two formats in a human-readable form. | |
| 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. | |
| static int | FilterOrder (const char *psz_name) |
| bool | aout_ChangeFilterString (vlc_object_t *p_obj, vlc_object_t *p_aout, const char *psz_variable, const char *psz_name, bool b_add) |
| unsigned int aout_BitsPerSample | ( | vlc_fourcc_t | i_format | ) |
References AUDIO_ES, VLC_CODEC_ALAW, VLC_CODEC_F32B, VLC_CODEC_F32L, VLC_CODEC_F64B, VLC_CODEC_F64L, VLC_CODEC_FI32, VLC_CODEC_MULAW, 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(), and EsOutUpdateInfo().
| bool aout_ChangeFilterString | ( | vlc_object_t * | p_obj, | |
| vlc_object_t * | p_aout, | |||
| const char * | psz_variable, | |||
| const char * | psz_name, | |||
| bool | b_add | |||
| ) |
References config_PutPsz, FilterOrder(), var_CreateGetString, var_Destroy, var_GetString, and var_SetString.
Referenced by aout_EnableFilter(), and ChangeFiltersString().
| 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().
| void aout_ChannelReorder | ( | uint8_t * | p_buf, | |
| int | i_buffer, | |||
| int | i_channels, | |||
| const int * | pi_chan_table, | |||
| int | i_bits_per_sample | |||
| ) |
References AOUT_CHAN_MAX.
| 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_RIGHT, and pi_vlc_chan_order_wg4.
| 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.
| void aout_Destroy | ( | audio_output_t * | aout | ) |
References aout_owner(), aout_Shutdown(), aout_owner_t::module, and vlc_object_release.
Referenced by DestroyAout(), ReleaseAout(), and TerminateAout().
| static void aout_Destructor | ( | vlc_object_t * | p_this | ) | [static] |
References aout_owner(), aout_owner_t::lock, vlc_mutex_destroy(), and aout_owner_t::volume.
Referenced by aout_New().
| 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_new_buffer(), aout_OutputNew(), and SplitConversion().
| void aout_FormatPrint | ( | vlc_object_t * | obj, | |
| const char * | psz_text, | |||
| const audio_sample_format_t * | p_format | |||
| ) |
Prints an audio sample format in a human-readable form.
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.
| 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_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(), and EsOutUpdateInfo().
| void aout_FormatsPrint | ( | vlc_object_t * | obj, | |
| const char * | psz_text, | |||
| const audio_sample_format_t * | p_format1, | |||
| const audio_sample_format_t * | p_format2 | |||
| ) |
Prints two formats in a human-readable form.
References aout_FormatPrintChannels(), audio_format_t::i_format, audio_format_t::i_rate, and msg_Dbg.
| audio_output_t* aout_New | ( | vlc_object_t * | p_parent | ) |
References _, aout_Destructor(), aout_owner(), aout_VolumeNoneInit(), config_FindConfig(), module_config_t::i_list, aout_owner_t::input, aout_owner_t::lock, aout_owner_t::mixer, aout_owner_t::module, module_exists(), aout_owner_t::multiplier, audio_output::pf_play, module_config_t::ppsz_list, module_config_t::ppsz_list_text, vlc_value_t::psz_string, text, unlikely, var_Change, var_Create, var_GetNonEmptyString, var_SetString, vlc_custom_create, vlc_mutex_init(), VLC_OBJECT, vlc_object_set_destructor, VLC_VAR_ADDCHOICE, VLC_VAR_DOINHERIT, VLC_VAR_HASCHOICE, VLC_VAR_SETTEXT, VLC_VAR_STRING, VLC_VAR_VOID, and aout_owner_t::volume.
| 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().
| static int FilterOrder | ( | const char * | psz_name | ) | [static] |
Referenced by aout_ChangeFilterString().
1.7.1