Go to the source code of this file.
Data Structures | |
| struct | aout_request_vout_t |
| struct | filter_owner_sys_t |
| struct | aout_input_t |
| an input stream for the audio output More... | |
| struct | aout_owner_t |
| struct | aout_instance_t |
Defines | |
| #define | AOUT_MAX_INPUT_RATE (4) |
| #define | aout_FiltersCreatePipeline(o, pv, pc, inf, outf) aout_FiltersCreatePipeline(VLC_OBJECT(o), pv, pc, inf, outf) |
| #define | aout_MixerNew(o, f) aout_MixerNew(VLC_OBJECT(o), f) |
| #define | aout_ReplayGainSelect(o, s, g) aout_ReplayGainSelect(VLC_OBJECT(o), s, g) |
| #define | aout_New(a) aout_New(VLC_OBJECT(a)) |
| #define | aout_FifoInit(o, f, r) aout_FifoInit(VLC_OBJECT(o), f, r) |
| #define | aout_FormatsPrint(o, t, a, b) aout_FormatsPrint(VLC_OBJECT(o), t, a, b) |
| #define | aout_lock_check(i) (void)0 |
| #define | aout_unlock_check(i) (void)0 |
| #define | aout_assert_locked(aout) vlc_assert_locked( &aout_owner(aout)->lock ) |
Enumerations | |
| enum | { AOUT_RESAMPLING_NONE = 0, AOUT_RESAMPLING_UP, AOUT_RESAMPLING_DOWN } |
Functions | |
| static aout_owner_t * | aout_owner (audio_output_t *aout) |
| aout_input_t * | aout_InputNew (audio_output_t *, const audio_sample_format_t *, const audio_sample_format_t *, const aout_request_vout_t *) |
| int | aout_InputDelete (audio_output_t *p_aout, aout_input_t *p_input) |
| block_t * | aout_InputPlay (audio_output_t *p_aout, aout_input_t *p_input, block_t *p_buffer, int i_input_rate, date_t *) |
| int | aout_FiltersCreatePipeline (vlc_object_t *, filter_t **, int *, const audio_sample_format_t *, const audio_sample_format_t *) |
| void | aout_FiltersDestroyPipeline (filter_t *const *, unsigned) |
| Destroys a chain of audio filters. | |
| void | aout_FiltersPlay (filter_t *const *, unsigned, aout_buffer_t **) |
| Filters an audio buffer through a chain of filters. | |
| struct audio_mixer * | aout_MixerNew (vlc_object_t *, vlc_fourcc_t) |
| Creates a software amplifier. | |
| void | aout_MixerDelete (struct audio_mixer *) |
| Destroys a software amplifier. | |
| void | aout_MixerRun (struct audio_mixer *, block_t *, float) |
| Applies replay gain and software volume to an audio buffer. | |
| float | aout_ReplayGainSelect (vlc_object_t *, const char *, const audio_replay_gain_t *) |
| static void | aout_ReplayGainInit (audio_replay_gain_t *restrict d, const audio_replay_gain_t *restrict s) |
| int | aout_OutputNew (audio_output_t *p_aout, const audio_sample_format_t *p_format) |
| void | aout_OutputPlay (audio_output_t *p_aout, aout_buffer_t *p_buffer) |
| Plays a decoded audio buffer. | |
| void | aout_OutputPause (audio_output_t *p_aout, bool, mtime_t) |
| Notifies the audio output (if any) of pause/resume events. | |
| void | aout_OutputFlush (audio_output_t *p_aout, bool) |
| Flushes or drains the audio output buffers. | |
| void | aout_OutputDelete (audio_output_t *p_aout) |
| Destroys the audio output plug-in instance. | |
| audio_output_t * | aout_New (vlc_object_t *) |
| void | aout_Destroy (audio_output_t *) |
| void | aout_FifoInit (vlc_object_t *, aout_fifo_t *, uint32_t) |
| mtime_t | aout_FifoFirstDate (const aout_fifo_t *) VLC_USED |
| void | aout_FifoPush (aout_fifo_t *, aout_buffer_t *) |
| aout_buffer_t * | aout_FifoPop (aout_fifo_t *p_fifo) VLC_USED |
| void | aout_FifoReset (aout_fifo_t *) |
| void | aout_FifoMoveDates (aout_fifo_t *, mtime_t) |
| void | aout_FifoDestroy (aout_fifo_t *p_fifo) |
| void | aout_FormatsPrint (vlc_object_t *, const char *, const audio_sample_format_t *, const audio_sample_format_t *) |
| Prints two formats in a human-readable form. | |
| bool | aout_ChangeFilterString (vlc_object_t *manager, vlc_object_t *aout, const char *var, const char *name, bool b_add) |
| int | aout_DecNew (audio_output_t *, const audio_sample_format_t *, const audio_replay_gain_t *, const aout_request_vout_t *) |
| Creates an audio output. | |
| void | aout_DecDelete (audio_output_t *) |
| Stops the decoded audio input. | |
| block_t * | aout_DecNewBuffer (audio_output_t *, size_t) |
| void | aout_DecDeleteBuffer (audio_output_t *, block_t *) |
| int | aout_DecPlay (audio_output_t *, block_t *, int i_input_rate) |
| int | aout_DecGetResetLost (audio_output_t *) |
| void | aout_DecChangePause (audio_output_t *, bool b_paused, mtime_t i_date) |
| void | aout_DecFlush (audio_output_t *) |
| bool | aout_DecIsEmpty (audio_output_t *) |
| void | aout_InputRequestRestart (audio_output_t *) |
| This function will safely mark aout input to be restarted as soon as possible to take configuration changes into account. | |
| void | aout_RequestRestart (audio_output_t *) |
| Marks the audio output for restart, to update any parameter of the output plug-in (e.g. | |
| void | aout_Shutdown (audio_output_t *) |
| Stops all plugins involved in the audio output. | |
| static void | aout_lock (audio_output_t *p_aout) |
| static void | aout_unlock (audio_output_t *p_aout) |
| static void | aout_lock_volume (audio_output_t *p_aout) |
| static void | aout_unlock_volume (audio_output_t *p_aout) |
| #define aout_assert_locked | ( | aout | ) | vlc_assert_locked( &aout_owner(aout)->lock ) |
| #define aout_FifoInit | ( | o, | ||
| f, | ||||
| r | ||||
| ) | aout_FifoInit(VLC_OBJECT(o), f, r) |
Referenced by aout_PacketInit().
| #define aout_FiltersCreatePipeline | ( | o, | ||
| pv, | ||||
| pc, | ||||
| inf, | ||||
| outf | ||||
| ) | aout_FiltersCreatePipeline(VLC_OBJECT(o), pv, pc, inf, outf) |
Referenced by aout_InputNew(), and aout_OutputNew().
| #define aout_FormatsPrint | ( | o, | ||
| t, | ||||
| a, | ||||
| b | ||||
| ) | aout_FormatsPrint(VLC_OBJECT(o), t, a, b) |
Referenced by aout_FiltersCreatePipeline().
| #define aout_lock_check | ( | i | ) | (void)0 |
Referenced by aout_lock(), and aout_lock_volume().
| #define AOUT_MAX_INPUT_RATE (4) |
Referenced by aout_DecPlay(), and DecoderPlayAudio().
| #define aout_MixerNew | ( | o, | ||
| f | ||||
| ) | aout_MixerNew(VLC_OBJECT(o), f) |
Referenced by aout_CheckRestart(), and aout_DecNew().
| #define aout_New | ( | a | ) | aout_New(VLC_OBJECT(a)) |
Referenced by AllocateAout().
| #define aout_ReplayGainSelect | ( | o, | ||
| s, | ||||
| g | ||||
| ) | aout_ReplayGainSelect(VLC_OBJECT(o), s, g) |
Referenced by ReplayGainCallback().
| #define aout_unlock_check | ( | i | ) | (void)0 |
Referenced by aout_unlock(), and aout_unlock_volume().
| bool aout_ChangeFilterString | ( | vlc_object_t * | manager, | |
| vlc_object_t * | aout, | |||
| const char * | var, | |||
| const char * | 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_DecChangePause | ( | audio_output_t * | , | |
| bool | b_paused, | |||
| mtime_t | i_date | |||
| ) |
References aout_lock(), aout_OutputPause(), aout_owner(), aout_unlock(), aout_owner_t::date, date_Set(), aout_owner_t::sync, and VLC_TS_INVALID.
Referenced by DecoderOutputChangePause().
| void aout_DecDelete | ( | audio_output_t * | aout | ) |
Stops the decoded audio input.
References aout_Shutdown().
Referenced by aout_new_buffer(), and DeleteDecoder().
| void aout_DecDeleteBuffer | ( | audio_output_t * | , | |
| block_t * | ||||
| ) |
References aout_BufferFree.
Referenced by DecoderDecodeAudio().
| void aout_DecFlush | ( | audio_output_t * | ) |
References aout_lock(), aout_OutputFlush(), aout_owner(), aout_unlock(), aout_owner_t::date, date_Set(), aout_owner_t::sync, and VLC_TS_INVALID.
Referenced by DecoderDecodeAudio(), DecoderProcessAudio(), and DeleteDecoder().
| int aout_DecGetResetLost | ( | audio_output_t * | ) |
References aout_lock(), aout_owner(), aout_unlock(), aout_input_t::i_buffer_lost, aout_owner_t::input, and likely.
Referenced by DecoderPlayAudio().
| bool aout_DecIsEmpty | ( | audio_output_t * | ) |
References aout_lock(), aout_OutputFlush(), aout_owner(), aout_unlock(), aout_owner_t::date, date_Get(), mdate(), aout_owner_t::sync, and VLC_TS_INVALID.
Referenced by input_DecoderIsEmpty().
| int aout_DecNew | ( | audio_output_t * | , | |
| const audio_sample_format_t * | , | |||
| const audio_replay_gain_t * | , | |||
| const aout_request_vout_t * | ||||
| ) |
Creates an audio output.
References AOUT_FMTS_IDENTICAL, aout_FormatNbChannels(), aout_InputNew(), aout_lock(), aout_MixerNew, aout_OutputDelete(), aout_OutputNew(), aout_owner(), aout_ReplayGainInit(), aout_Shutdown(), aout_unlock(), aout_owner_t::data, aout_owner_t::date, date_Init(), date_Set(), aout_owner_t::gain, audio_format_t::i_channels, audio_format_t::i_format, audio_format_t::i_rate, aout_owner_t::input, aout_owner_t::input_format, aout_owner_t::mixer, aout_owner_t::mixer_format, aout_owner_t::module, msg_Err, ReplayGainCallback(), aout_owner_t::restart, aout_owner_t::sync, var_AddCallback, var_Destroy, var_TriggerCallback, vlc_atomic_set(), VLC_TS_INVALID, and aout_owner_t::volume.
Referenced by aout_new_buffer().
| block_t* aout_DecNewBuffer | ( | audio_output_t * | , | |
| size_t | ||||
| ) |
References aout_owner(), block_Alloc(), audio_format_t::i_bytes_per_frame, audio_format_t::i_frame_length, block_t::i_length, block_t::i_nb_samples, block_t::i_pts, aout_owner_t::input_format, and likely.
Referenced by aout_new_buffer().
| int aout_DecPlay | ( | audio_output_t * | , | |
| block_t * | , | |||
| int | i_input_rate | |||
| ) |
References aout_BufferFree, aout_CheckRestart(), aout_InputPlay(), aout_lock(), AOUT_MAX_INPUT_RATE, aout_MixerRun(), aout_OutputPlay(), aout_owner(), aout_unlock(), aout_owner_t::date, date_Increment(), aout_owner_t::gain, block_t::i_length, block_t::i_nb_samples, block_t::i_pts, audio_format_t::i_rate, aout_owner_t::input, aout_owner_t::input_format, INPUT_RATE_DEFAULT, aout_owner_t::mixer, aout_owner_t::multiplier, aout_owner_t::sync, unlikely, vlc_atomic_getf(), and aout_owner_t::volume.
Referenced by DecoderPlayAudio().
| void aout_Destroy | ( | audio_output_t * | ) |
References aout_owner(), aout_Shutdown(), aout_owner_t::module, and vlc_object_release.
Referenced by DestroyAout(), ReleaseAout(), and TerminateAout().
| void aout_FifoDestroy | ( | aout_fifo_t * | p_fifo | ) |
References aout_BufferFree, aout_fifo_t::p_first, block_t::p_next, and aout_fifo_t::pp_last.
Referenced by aout_PacketDestroy().
| mtime_t aout_FifoFirstDate | ( | const aout_fifo_t * | ) |
| void aout_FifoInit | ( | vlc_object_t * | , | |
| aout_fifo_t * | , | |||
| uint32_t | ||||
| ) |
References date_Init(), date_Set(), aout_fifo_t::end_date, msg_Err, aout_fifo_t::p_first, aout_fifo_t::pp_last, unlikely, and VLC_TS_INVALID.
| void aout_FifoMoveDates | ( | aout_fifo_t * | , | |
| mtime_t | ||||
| ) |
References date_Get(), date_Move(), aout_fifo_t::end_date, aout_fifo_t::p_first, block_t::p_next, and VLC_TS_INVALID.
Referenced by aout_PacketNext(), and aout_PacketPause().
| aout_buffer_t* aout_FifoPop | ( | aout_fifo_t * | p_fifo | ) |
References aout_fifo_t::p_first, block_t::p_next, and aout_fifo_t::pp_last.
Referenced by aout_OutputSlice(), and aout_PacketNext().
| void aout_FifoPush | ( | aout_fifo_t * | , | |
| aout_buffer_t * | ||||
| ) |
References 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, aout_fifo_t::pp_last, and VLC_TS_INVALID.
Referenced by aout_PacketPlay().
| void aout_FifoReset | ( | aout_fifo_t * | ) |
References aout_BufferFree, date_Set(), aout_fifo_t::end_date, aout_fifo_t::p_first, block_t::p_next, aout_fifo_t::pp_last, and VLC_TS_INVALID.
Referenced by aout_PacketFlush().
| int aout_FiltersCreatePipeline | ( | vlc_object_t * | , | |
| filter_t ** | , | |||
| int * | , | |||
| const audio_sample_format_t * | , | |||
| const audio_sample_format_t * | ||||
| ) |
| void aout_FiltersDestroyPipeline | ( | filter_t *const * | , | |
| unsigned | ||||
| ) |
Destroys a chain of audio filters.
References module_unneed, filter_t::p_module, filter_t::p_owner, and vlc_object_release.
Referenced by aout_FiltersCreatePipeline(), aout_InputDelete(), aout_InputNew(), and aout_OutputDelete().
| void aout_FiltersPlay | ( | filter_t *const * | , | |
| unsigned | , | |||
| aout_buffer_t ** | ||||
| ) |
Filters an audio buffer through a chain of filters.
Referenced by aout_InputPlay(), and aout_OutputPlay().
| void aout_FormatsPrint | ( | vlc_object_t * | , | |
| const char * | , | |||
| const audio_sample_format_t * | , | |||
| const audio_sample_format_t * | ||||
| ) |
Prints two formats in a human-readable form.
References aout_FormatPrintChannels(), audio_format_t::i_format, audio_format_t::i_rate, and msg_Dbg.
| int aout_InputDelete | ( | audio_output_t * | p_aout, | |
| aout_input_t * | p_input | |||
| ) |
References aout_FiltersDestroyPipeline(), aout_input_t::b_recycle_vout, EqualizerCallback(), aout_input_t::i_nb_filters, aout_input_t::i_nb_resamplers, aout_input_t::pp_filters, aout_input_t::pp_resamplers, var_DelCallback, var_GetString, and VisualizationCallback().
Referenced by aout_CheckRestart(), and aout_Shutdown().
| aout_input_t* aout_InputNew | ( | audio_output_t * | , | |
| const audio_sample_format_t * | , | |||
| const audio_sample_format_t * | , | |||
| const aout_request_vout_t * | ||||
| ) |
Referenced by aout_CheckRestart(), and aout_DecNew().
| block_t* aout_InputPlay | ( | audio_output_t * | p_aout, | |
| aout_input_t * | p_input, | |||
| block_t * | p_buffer, | |||
| int | i_input_rate, | |||
| date_t * | ||||
| ) |
References aout_assert_locked, aout_FiltersPlay(), AOUT_MAX_PTS_ADVANCE, AOUT_MAX_PTS_DELAY, AOUT_MIN_PREPARE_TIME, aout_OutputFlush(), AOUT_RESAMPLING_DOWN, AOUT_RESAMPLING_NONE, AOUT_RESAMPLING_UP, es_format_t::audio, block_Release(), date_Get(), date_Set(), F, filter_t::fmt_in, block_t::i_flags, aout_input_t::i_last_input_rate, aout_input_t::i_nb_filters, aout_input_t::i_nb_resamplers, block_t::i_nb_samples, block_t::i_pts, audio_format_t::i_rate, aout_input_t::i_resamp_start_date, aout_input_t::i_resamp_start_drift, aout_input_t::i_resampling_type, INPUT_RATE_DEFAULT, inputDrop(), inputResamplingStop(), mdate(), msg_Warn, aout_input_t::p_playback_rate_filter, aout_input_t::pp_filters, aout_input_t::pp_resamplers, aout_input_t::samplerate, and VLC_TS_INVALID.
Referenced by aout_DecPlay().
| void aout_InputRequestRestart | ( | audio_output_t * | ) |
This function will safely mark aout input to be restarted as soon as possible to take configuration changes into account.
References aout_owner(), AOUT_RESTART_INPUT, aout_owner_t::restart, and vlc_atomic_compare_swap().
Referenced by aout_EnableFilter(), EqualizerCallback(), and VisualizationCallback().
| static void aout_lock | ( | audio_output_t * | p_aout | ) | [inline, static] |
References aout_lock_check, aout_owner(), lock, and vlc_mutex_lock().
Referenced by aout_DecChangePause(), aout_DecFlush(), aout_DecGetResetLost(), aout_DecIsEmpty(), aout_DecNew(), aout_DecPlay(), aout_Shutdown(), and commitVolume().
| static void aout_lock_volume | ( | audio_output_t * | p_aout | ) | [inline, static] |
References aout_lock_check, aout_owner(), aout_owner_t::lock, and vlc_mutex_lock().
Referenced by prepareVolume().
| void aout_MixerDelete | ( | struct audio_mixer * | ) |
Destroys a software amplifier.
References audio_mixer::module, module_unneed, and vlc_object_release.
Referenced by aout_CheckRestart(), and aout_Shutdown().
| struct audio_mixer* aout_MixerNew | ( | vlc_object_t * | , | |
| vlc_fourcc_t | ||||
| ) | [read] |
Creates a software amplifier.
References audio_mixer::format, audio_mixer::mix, audio_mixer::module, module_need, unlikely, vlc_custom_create, and vlc_object_release.
| void aout_MixerRun | ( | struct audio_mixer * | , | |
| block_t * | , | |||
| float | ||||
| ) |
Applies replay gain and software volume to an audio buffer.
References audio_mixer::mix.
Referenced by aout_DecPlay().
| audio_output_t* aout_New | ( | vlc_object_t * | ) |
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.
| void aout_OutputDelete | ( | audio_output_t * | p_aout | ) |
Destroys the audio output plug-in instance.
References aout_assert_locked, aout_FiltersDestroyPipeline(), aout_owner(), aout_VolumeNoneInit(), aout_owner_t::filters, aout_owner_t::module, module_unneed, aout_owner_t::nb_filters, audio_output::pf_flush, audio_output::pf_pause, and audio_output::pf_play.
Referenced by aout_CheckRestart(), aout_DecNew(), and aout_Shutdown().
| void aout_OutputFlush | ( | audio_output_t * | aout, | |
| bool | wait | |||
| ) |
Flushes or drains the audio output buffers.
This enables the output to expedite seek and stop.
| wait | if true, wait for buffer playback (i.e. drain), if false, discard the buffers immediately (i.e. flush) |
References aout_assert_locked, and audio_output::pf_flush.
Referenced by aout_DecFlush(), aout_DecIsEmpty(), and aout_InputPlay().
| int aout_OutputNew | ( | audio_output_t * | p_aout, | |
| const audio_sample_format_t * | p_format | |||
| ) |
References _, aout_assert_locked, AOUT_CHAN_CENTER, AOUT_CHAN_DOLBYSTEREO, AOUT_CHAN_DUALMONO, AOUT_CHAN_LEFT, AOUT_CHAN_PHYSMASK, AOUT_CHAN_RIGHT, aout_ChannelsRestart(), aout_FiltersCreatePipeline, AOUT_FMT_LINEAR, aout_FormatPrepare(), aout_FormatPrint, aout_owner(), AOUT_VAR_CHAN_DOLBYS, AOUT_VAR_CHAN_LEFT, AOUT_VAR_CHAN_RIGHT, AOUT_VAR_CHAN_RSTEREO, AOUT_VAR_CHAN_STEREO, aout_owner_t::filters, audio_output::format, HAVE_FPU, audio_format_t::i_bitspersample, audio_format_t::i_format, vlc_value_t::i_int, audio_format_t::i_original_channels, audio_format_t::i_physical_channels, aout_owner_t::mixer_format, aout_owner_t::module, module_need, module_unneed, msg_Err, aout_owner_t::nb_filters, vlc_value_t::psz_string, text, var_AddCallback, var_Change, var_Create, var_InheritInteger, var_SetInteger, var_TriggerCallback, var_Type, VLC_VAR_ADDCHOICE, VLC_VAR_HASCHOICE, VLC_VAR_INTEGER, and VLC_VAR_SETTEXT.
Referenced by aout_CheckRestart(), and aout_DecNew().
| void aout_OutputPause | ( | audio_output_t * | aout, | |
| bool | pause, | |||
| mtime_t | date | |||
| ) |
Notifies the audio output (if any) of pause/resume events.
This enables the output to expedite pause, instead of waiting for its buffers to drain.
References aout_assert_locked, and audio_output::pf_pause.
Referenced by aout_DecChangePause().
| void aout_OutputPlay | ( | audio_output_t * | p_aout, | |
| aout_buffer_t * | p_buffer | |||
| ) |
Plays a decoded audio buffer.
References aout_assert_locked, aout_FiltersPlay(), aout_owner(), block_Release(), aout_owner_t::filters, block_t::i_buffer, aout_owner_t::nb_filters, and audio_output::pf_play.
Referenced by aout_DecPlay().
| static aout_owner_t* aout_owner | ( | audio_output_t * | aout | ) | [inline, static] |
Referenced by aout_CheckRestart(), aout_DecChangePause(), aout_DecFlush(), aout_DecGetResetLost(), aout_DecIsEmpty(), aout_DecNew(), aout_DecNewBuffer(), aout_DecPlay(), aout_Destroy(), aout_Destructor(), aout_InputRequestRestart(), aout_lock(), aout_lock_volume(), aout_New(), aout_OutputDelete(), aout_OutputNew(), aout_OutputPlay(), aout_RequestRestart(), aout_Shutdown(), aout_TimeReport(), aout_unlock(), aout_unlock_volume(), aout_VolumeSoftSet(), and commitVolume().
| static void aout_ReplayGainInit | ( | audio_replay_gain_t *restrict | d, | |
| const audio_replay_gain_t *restrict | s | |||
| ) | [inline, static] |
Referenced by aout_DecNew().
| float aout_ReplayGainSelect | ( | vlc_object_t * | , | |
| const char * | , | |||
| const audio_replay_gain_t * | ||||
| ) |
References AUDIO_REPLAY_GAIN_ALBUM, AUDIO_REPLAY_GAIN_MAX, AUDIO_REPLAY_GAIN_TRACK, likely, var_InheritBool, and var_InheritFloat.
| void aout_RequestRestart | ( | audio_output_t * | aout | ) |
Marks the audio output for restart, to update any parameter of the output plug-in (e.g.
output device or channel mapping).
References aout_owner(), AOUT_RESTART_INPUT, AOUT_RESTART_OUTPUT, aout_owner_t::restart, and vlc_atomic_set().
Referenced by aout_ChannelsRestart().
| void aout_Shutdown | ( | audio_output_t * | ) |
Stops all plugins involved in the audio output.
References aout_InputDelete(), aout_lock(), aout_MixerDelete(), aout_OutputDelete(), aout_owner(), aout_unlock(), aout_owner_t::input, likely, aout_owner_t::mixer, ReplayGainCallback(), var_DelCallback, var_Destroy, and aout_owner_t::volume.
Referenced by aout_DecDelete(), aout_DecNew(), and aout_Destroy().
| static void aout_unlock | ( | audio_output_t * | p_aout | ) | [inline, static] |
References aout_owner(), aout_unlock_check, lock, and vlc_mutex_unlock().
Referenced by aout_DecChangePause(), aout_DecFlush(), aout_DecGetResetLost(), aout_DecIsEmpty(), aout_DecNew(), aout_DecPlay(), aout_Shutdown(), and commitVolume().
| static void aout_unlock_volume | ( | audio_output_t * | p_aout | ) | [inline, static] |
References aout_owner(), aout_unlock_check, aout_owner_t::lock, and vlc_mutex_unlock().
Referenced by cancelVolume(), and commitVolume().
1.7.1