VLC 4.0.0-dev
|
Data Structures | |
struct | aout_dev |
Typedefs | |
typedef struct aout_dev | aout_dev_t |
Functions | |
static float | clampf (const float value, const float min, const float max) |
static int | var_Copy (vlc_object_t *src, const char *name, vlc_value_t prev, vlc_value_t value, void *data) |
static int | var_CopyDevice (vlc_object_t *src, const char *name, vlc_value_t prev, vlc_value_t value, void *data) |
static void | aout_TimingNotify (audio_output_t *aout, vlc_tick_t system_ts, vlc_tick_t audio_ts) |
static void | aout_DrainedNotify (audio_output_t *aout) |
static void | aout_VolumeNotify (audio_output_t *aout, float volume) |
Supply or update the current custom ("hardware") volume. | |
static void | aout_MuteNotify (audio_output_t *aout, bool mute) |
static void | aout_PolicyNotify (audio_output_t *aout, bool cork) |
static void | aout_DeviceNotify (audio_output_t *aout, const char *id) |
static void | aout_HotplugNotify (audio_output_t *aout, const char *id, const char *name) |
static void | aout_RestartNotify (audio_output_t *aout, bool restart_dec) |
void | aout_InputRequestRestart (audio_output_t *aout) |
static int | aout_GainNotify (audio_output_t *aout, float gain) |
static int | FilterCallback (vlc_object_t *obj, const char *var, vlc_value_t prev, vlc_value_t cur, void *data) |
static int | StereoModeCallback (vlc_object_t *obj, const char *varname, vlc_value_t oldval, vlc_value_t newval, void *data) |
static int | MixModeCallback (vlc_object_t *obj, const char *varname, vlc_value_t oldval, vlc_value_t newval, void *data) |
static void | aout_ChangeViewpoint (audio_output_t *, const vlc_viewpoint_t *) |
static int | ViewpointCallback (vlc_object_t *obj, const char *var, vlc_value_t prev, vlc_value_t cur, void *data) |
audio_output_t * | aout_New (vlc_object_t *parent) |
Creates an audio output object and initializes an output module. | |
audio_output_t * | aout_Hold (audio_output_t *aout) |
static void | aout_Destroy (audio_output_t *aout) |
Deinitializes an audio output module and destroys an audio output object. | |
void | aout_Release (audio_output_t *aout) |
static int | aout_PrepareStereoMode (audio_output_t *aout, const audio_sample_format_t *restrict fmt) |
static void | aout_UpdateStereoMode (audio_output_t *aout, int mode, audio_sample_format_t *restrict fmt, aout_filters_cfg_t *filters_cfg) |
static bool | aout_HasStereoMode (audio_output_t *aout, int mode) |
static void | aout_AddMixModeChoice (audio_output_t *aout, int mode, const char *suffix, const audio_sample_format_t *restrict fmt) |
static void | aout_SetupMixModeChoices (audio_output_t *aout, const audio_sample_format_t *restrict fmt) |
static bool | aout_HasMixModeChoice (audio_output_t *aout, int mode) |
static void | aout_UpdateMixMode (audio_output_t *aout, int mode, audio_sample_format_t *restrict fmt) |
int | aout_OutputNew (audio_output_t *aout, vlc_aout_stream *stream, audio_sample_format_t *fmt, int input_profile, audio_sample_format_t *filter_fmt, aout_filters_cfg_t *filters_cfg) |
Starts an audio output stream. | |
void | aout_OutputDelete (audio_output_t *aout) |
Stops the audio output stream (undoes aout_OutputNew()). | |
float | aout_VolumeGet (audio_output_t *aout) |
Gets the volume of the audio output stream (independent of mute). | |
int | aout_VolumeSet (audio_output_t *aout, float vol) |
Sets the volume of the audio output stream. | |
int | aout_VolumeUpdate (audio_output_t *aout, int value, float *volp) |
Adjusts the volume. | |
int | aout_MuteGet (audio_output_t *aout) |
Gets the audio output stream mute flag. | |
int | aout_MuteSet (audio_output_t *aout, bool mute) |
Sets the audio output stream mute flag. | |
char * | aout_DeviceGet (audio_output_t *aout) |
Gets the currently selected device. | |
int | aout_DeviceSet (audio_output_t *aout, const char *id) |
Selects an audio output device. | |
int | aout_DevicesList (audio_output_t *aout, char ***ids, char ***names) |
Enumerates possible audio output devices. | |
vlc_audio_meter_plugin * | aout_AddMeterPlugin (audio_output_t *aout, const char *chain, const struct vlc_audio_meter_plugin_owner *meter_plugin_owner) |
void | aout_RemoveMeterPlugin (audio_output_t *aout, vlc_audio_meter_plugin *plugin) |
Variables | |
static const struct vlc_audio_output_events | aout_events |
typedef struct aout_dev aout_dev_t |
vlc_audio_meter_plugin * aout_AddMeterPlugin | ( | audio_output_t * | aout, |
const char * | chain, | ||
const struct vlc_audio_meter_plugin_owner * | meter_plugin_owner | ||
) |
References aout_owner(), aout_owner_t::meter, and vlc_audio_meter_AddPlugin().
Referenced by vlc_player_AddMetadataLoudnessListener().
|
static |
References aout_FormatPrintChannels(), asprintf(), vlc_value_t::i_int, var_Change(), and VLC_VAR_ADDCHOICE.
Referenced by aout_SetupMixModeChoices().
|
static |
References aout_owner(), aout_owner_t::lock, aout_owner_t::update, aout_owner_t::value, vlc_mutex_lock(), vlc_mutex_unlock(), and aout_owner_t::vp.
Referenced by ViewpointCallback().
|
static |
Deinitializes an audio output module and destroys an audio output object.
References aout_owner(), aout_owner_t::dev, audio_output::device_select, FilterCallback(), aout_owner_t::list, aout_owner_t::lock, aout_owner_t::meter, MixModeCallback(), module_unneed, audio_output::mute_set, aout_dev::name, aout_dev::node, StereoModeCallback(), var_Copy(), var_CopyDevice(), var_DelCallback(), var_SetFloat(), ViewpointCallback(), vlc_audio_meter_Destroy(), vlc_list_foreach, vlc_list_remove(), vlc_mutex_lock(), vlc_mutex_unlock(), VLC_OBJECT, vlc_object_delete, vlc_object_parent, and audio_output::volume_set.
Referenced by aout_Release().
|
static |
References var_SetString().
|
static |
References aout_owner(), aout_owner_t::main_stream, and vlc_aout_stream_NotifyDrained().
|
static |
|
static |
References count, var_Change(), and VLC_VAR_GETCHOICES.
Referenced by aout_OutputNew(), and aout_UpdateMixMode().
|
static |
References count, var_Change(), and VLC_VAR_GETCHOICES.
Referenced by aout_OutputNew().
|
static |
void aout_InputRequestRestart | ( | audio_output_t * | aout | ) |
References aout_owner(), AOUT_RESTART_FILTERS, aout_owner_t::main_stream, and vlc_aout_stream_RequestRestart().
Referenced by FilterCallback(), and VisualizationCallback().
|
static |
References var_SetBool().
audio_output_t * aout_New | ( | vlc_object_t * | parent | ) |
Creates an audio output object and initializes an output module.
References _, aout_events, aout_owner(), aout_owner_t::bitexact, config_FindConfig(), aout_owner_t::dev, audio_output::device_select, audio_output::events, FilterCallback(), likely, module_config_t::list, aout_owner_t::list, module_config_t::list_count, module_config_t::list_text, aout_owner_t::lock, aout_owner_t::main_stream, aout_owner_t::meter, MixModeCallback(), module_exists(), module_need_var, msg_Err, audio_output::mute_set, module_config_t::psz, vlc_value_t::psz_string, aout_owner_t::rc, aout_owner_t::requested_mix_mode, aout_owner_t::requested_stereo_mode, audio_output::start, StereoModeCallback(), audio_output::stop, unlikely, aout_owner_t::update, aout_owner_t::value, var_AddCallback(), var_Change(), var_Copy(), var_CopyDevice(), var_Create(), var_GetInteger(), var_GetNonEmptyString(), var_InheritBool(), var_SetString(), ViewpointCallback(), vlc_atomic_rc_init(), vlc_audio_meter_Init, vlc_custom_create, vlc_gettext(), vlc_list_init(), vlc_mutex_init(), vlc_object_delete, VLC_VAR_ADDCHOICE, VLC_VAR_ADDRESS, VLC_VAR_BOOL, VLC_VAR_DOINHERIT, VLC_VAR_FLOAT, VLC_VAR_INTEGER, VLC_VAR_SETTEXT, VLC_VAR_STRING, vlc_viewpoint_init(), audio_output::volume_set, and aout_owner_t::vp.
void aout_OutputDelete | ( | audio_output_t * | p_aout | ) |
Stops the audio output stream (undoes aout_OutputNew()).
References aout_owner(), aout_owner_t::lock, aout_owner_t::main_stream, audio_output::stop, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by stream_CheckReady(), vlc_aout_stream_Delete(), and vlc_aout_stream_New().
int aout_OutputNew | ( | audio_output_t * | aout, |
vlc_aout_stream * | stream, | ||
audio_sample_format_t * | fmt, | ||
int | input_profile, | ||
audio_sample_format_t * | filter_fmt, | ||
aout_filters_cfg_t * | filters_cfg | ||
) |
Starts an audio output stream.
aout | the audio output instance to initialize from |
stream | the audio output stream to initialize from |
fmt | the format to request to the output |
input_profile | the audio profile to request from the audio output |
filter_fmt | the format requested from the filters |
filters_cfg | the configuration to load the audio filters from |
References AOUT_CHANS_7_1, AOUT_CHANS_STEREO, AOUT_FMT_LINEAR, aout_FormatNbChannels(), aout_FormatPrepare(), aout_FormatPrint, aout_HasMixModeChoice(), aout_HasStereoMode(), AOUT_MIX_MODE_BINAURAL, aout_owner(), aout_PrepareStereoMode(), aout_SetupMixModeChoices(), aout_SetWavePhysicalChannels(), aout_UpdateMixMode(), aout_UpdateStereoMode(), AOUT_VAR_CHAN_UNSET, ARRAY_SIZE, AUDIO_CHANNEL_TYPE_AMBISONICS, AUDIO_CHANNEL_TYPE_BITMAP, audio_format_t::channel_type, audio_output::current_sink_info, audio_output::flush, audio_output::headphones, audio_format_t::i_bitspersample, audio_format_t::i_bytes_per_frame, audio_format_t::i_channels, audio_format_t::i_format, audio_format_t::i_frame_length, audio_format_t::i_physical_channels, aout_owner_t::lock, aout_owner_t::main_stream, msg_Err, msg_Warn, audio_output::play, aout_owner_t::requested_mix_mode, audio_output::start, var_Change(), VLC_CODEC_A52, VLC_CODEC_DTS, VLC_CODEC_DTSHD, VLC_CODEC_EAC3, VLC_CODEC_FL32, VLC_CODEC_S16N, VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), VLC_SUCCESS, and VLC_VAR_CLEARCHOICES.
Referenced by stream_CheckReady(), and vlc_aout_stream_New().
|
static |
References var_DecInteger(), var_IncInteger(), and vlc_object_parent.
|
static |
References _, AOUT_CHANMODE_DOLBYSTEREO, AOUT_CHANMODE_DUALMONO, AOUT_FMT_LINEAR, aout_owner(), AOUT_VAR_CHAN_DOLBYS, AOUT_VAR_CHAN_LEFT, AOUT_VAR_CHAN_MONO, AOUT_VAR_CHAN_RIGHT, AOUT_VAR_CHAN_RSTEREO, AOUT_VAR_CHAN_STEREO, AOUT_VAR_CHAN_UNSET, vlc_value_t::i_int, aout_owner_t::requested_stereo_mode, var_Change(), and VLC_VAR_ADDCHOICE.
Referenced by aout_OutputNew().
void aout_RemoveMeterPlugin | ( | audio_output_t * | aout, |
vlc_audio_meter_plugin * | plugin | ||
) |
References aout_owner(), aout_owner_t::meter, and vlc_audio_meter_RemovePlugin().
Referenced by vlc_player_AddMetadataLoudnessListener(), and vlc_player_RemoveMetadataLoudnessListener().
|
static |
|
static |
References _, aout_AddMixModeChoice(), AOUT_CHANS_4_0, AOUT_CHANS_5_1, AOUT_CHANS_7_1, AOUT_MIX_MODE_4_0, AOUT_MIX_MODE_5_1, AOUT_MIX_MODE_7_1, AOUT_MIX_MODE_BINAURAL, AOUT_MIX_MODE_STEREO, AOUT_MIX_MODE_UNSET, AUDIO_CHANNEL_TYPE_AMBISONICS, audio_format_t::i_physical_channels, and module_exists().
Referenced by aout_OutputNew().
|
static |
References aout_owner(), aout_owner_t::main_stream, and vlc_aout_stream_NotifyTiming().
|
static |
References AOUT_CHANMODE_BINAURAL, AOUT_CHANS_4_0, AOUT_CHANS_5_1, AOUT_CHANS_7_1, AOUT_CHANS_STEREO, aout_HasMixModeChoice(), AOUT_MIX_MODE_4_0, AOUT_MIX_MODE_5_1, AOUT_MIX_MODE_7_1, AOUT_MIX_MODE_BINAURAL, AOUT_MIX_MODE_STEREO, AOUT_MIX_MODE_UNSET, AOUT_VAR_CHAN_UNSET, var_Change(), and VLC_VAR_SETVALUE.
Referenced by aout_OutputNew().
|
static |
References AOUT_CHAN_CENTER, AOUT_CHANIDX_DISABLE, AOUT_CHANIDX_LEFT, AOUT_CHANIDX_MAX, AOUT_CHANIDX_RIGHT, AOUT_CHANMODE_DOLBYSTEREO, aout_FormatPrepare(), AOUT_VAR_CHAN_DOLBYS, AOUT_VAR_CHAN_LEFT, AOUT_VAR_CHAN_MONO, AOUT_VAR_CHAN_RIGHT, AOUT_VAR_CHAN_RSTEREO, AOUT_VAR_CHAN_STEREO, aout_filters_cfg_t::remap, var_Change(), and VLC_VAR_SETVALUE.
Referenced by aout_OutputNew().
|
static |
Supply or update the current custom ("hardware") volume.
aout | the audio output notifying the new volume |
volume | current custom volume |
References var_SetFloat().
|
inlinestatic |
Referenced by aout_VolumeUpdate().
|
static |
References aout_InputRequestRestart(), vlc_value_t::psz_string, var, and VLC_SUCCESS.
Referenced by aout_Destroy(), and aout_New().
|
static |
References aout_owner(), AOUT_RESTART_OUTPUT, vlc_value_t::i_int, aout_owner_t::lock, aout_owner_t::main_stream, aout_owner_t::requested_mix_mode, vlc_aout_stream_RequestRestart(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by aout_Destroy(), and aout_New().
|
static |
|
static |
References name, vlc_list::prev, and var_Set().
Referenced by aout_Destroy(), and aout_New().
|
static |
References name, vlc_list::prev, and var_Set().
Referenced by aout_Destroy(), and aout_New().
|
static |
References aout_ChangeViewpoint(), vlc_value_t::p_address, var, and VLC_SUCCESS.
Referenced by aout_Destroy(), and aout_New().
|
static |
Referenced by aout_New().