VLC
4.0.0-dev
|
Go to the source code of this file.
Data Structures | |
struct | aout_owner_t |
struct | aout_instance_t |
Macros | |
#define | AOUT_MAX_INPUT_RATE (4) |
#define | aout_volume_New(o, g) aout_volume_New(VLC_OBJECT(o), g) |
#define | aout_New(a) aout_New(VLC_OBJECT(a)) |
#define | aout_FormatsPrint(o, t, a, b) aout_FormatsPrint(VLC_OBJECT(o), t, a, b) |
#define | AOUT_DEC_SUCCESS 0 |
#define | AOUT_DEC_CHANGED 1 |
#define | AOUT_DEC_FAILED VLC_EGENERIC |
Typedefs | |
typedef struct aout_volume | aout_volume_t |
typedef struct aout_dev | aout_dev_t |
Enumerations | |
enum | { AOUT_RESAMPLING_NONE =0, AOUT_RESAMPLING_UP, AOUT_RESAMPLING_DOWN } |
#define AOUT_DEC_CHANGED 1 |
Referenced by aout_CheckReady(), and ModuleThread_PlayAudio().
#define AOUT_DEC_FAILED VLC_EGENERIC |
Referenced by aout_CheckReady(), aout_DecPlay(), and ModuleThread_PlayAudio().
#define AOUT_DEC_SUCCESS 0 |
Referenced by aout_CheckReady().
#define aout_FormatsPrint | ( | o, | |
t, | |||
a, | |||
b | |||
) | aout_FormatsPrint(VLC_OBJECT(o), t, a, b) |
Referenced by aout_FiltersNewWithClock(), and aout_FiltersPipelineCreate().
#define AOUT_MAX_INPUT_RATE (4) |
#define aout_New | ( | a | ) | aout_New(VLC_OBJECT(a)) |
Referenced by input_resource_GetAout().
#define aout_volume_New | ( | o, | |
g | |||
) | aout_volume_New(VLC_OBJECT(o), g) |
Referenced by aout_DecNew(), and aout_owner().
typedef struct aout_dev aout_dev_t |
typedef struct aout_volume aout_volume_t |
void aout_DecChangeDelay | ( | audio_output_t * | aout, |
vlc_tick_t | delay | ||
) |
References aout_owner(), aout_owner_t::request_delay, and aout_owner_t::sync.
Referenced by DecoderThread_ChangeDelay().
void aout_DecChangePause | ( | audio_output_t * | , |
bool | b_paused, | ||
vlc_tick_t | i_date | ||
) |
References aout_owner(), audio_output::flush, audio_format_t::i_format, aout_owner_t::mixer_format, and audio_output::pause.
Referenced by DecoderThread_ChangePause().
void aout_DecChangeRate | ( | audio_output_t * | aout, |
float | rate | ||
) |
References aout_owner(), aout_owner_t::rate, and aout_owner_t::sync.
Referenced by DecoderThread_ChangeRate().
void aout_DecDelete | ( | audio_output_t * | ) |
Stops all plugins involved in the audio output.
References aout_DecFlush(), aout_FiltersDelete, aout_OutputDelete(), aout_owner(), aout_volume_Delete(), aout_owner_t::filters, audio_format_t::i_format, aout_owner_t::mixer_format, and aout_owner_t::volume.
Referenced by DecoderThread_Reload(), DeleteDecoder(), and ModuleThread_UpdateAudioFormat().
void aout_DecDrain | ( | audio_output_t * | ) |
References aout_Drain(), aout_FiltersDrain(), aout_FiltersResetClock(), aout_owner(), aout_owner_t::clock, aout_owner_t::discontinuity, aout_owner_t::filters, audio_format_t::i_format, aout_owner_t::mixer_format, aout_owner_t::original_pts, audio_output::play, aout_owner_t::sync, vlc_clock_Reset(), VLC_TICK_INVALID, and vlc_tick_now().
Referenced by DecoderThread().
void aout_DecFlush | ( | audio_output_t * | ) |
References aout_FiltersFlush(), aout_FiltersResetClock(), aout_FiltersSetClockDelay(), aout_owner(), aout_owner_t::clock, aout_owner_t::delay, aout_owner_t::discontinuity, aout_owner_t::filters, audio_output::flush, audio_format_t::i_format, aout_owner_t::mixer_format, aout_owner_t::original_pts, aout_owner_t::request_delay, aout_owner_t::sync, vlc_clock_Reset(), vlc_clock_SetDelay(), and VLC_TICK_INVALID.
Referenced by aout_DecDelete(), aout_RequestRetiming(), DecoderThread_Flush(), and ModuleThread_PlayAudio().
void aout_DecGetResetStats | ( | audio_output_t * | , |
unsigned * | , | ||
unsigned * | |||
) |
Referenced by ModuleThread_UpdateStatAudio().
int aout_DecNew | ( | audio_output_t * | , |
const audio_sample_format_t * | , | ||
int | profile, | ||
struct vlc_clock_t * | clock, | ||
const audio_replay_gain_t * | |||
) |
Creates an audio output.
References AOUT_CHAN_MAX, AOUT_FILTERS_CFG_INIT, aout_FiltersNewWithClock(), aout_FormatNbChannels(), aout_OutputDelete(), aout_OutputNew(), aout_owner(), AOUT_RESAMPLING_NONE, aout_volume_Delete(), aout_volume_New, aout_volume_SetFormat(), aout_owner_t::bitexact, aout_owner_t::buffers_lost, aout_owner_t::buffers_played, aout_owner_t::clock, aout_owner_t::delay, aout_owner_t::discontinuity, aout_owner_t::filter_format, aout_owner_t::filters, aout_owner_t::filters_cfg, audio_format_t::i_bitspersample, audio_format_t::i_channels, audio_format_t::i_format, audio_format_t::i_rate, INPUT_CHAN_MAX, aout_owner_t::input_format, aout_owner_t::input_profile, aout_owner_t::mixer_format, msg_Err, aout_owner_t::original_pts, aout_owner_t::rate, aout_owner_t::request_delay, aout_owner_t::resamp_type, aout_owner_t::restart, aout_owner_t::sync, aout_owner_t::update, VLC_OBJECT, VLC_TICK_INVALID, aout_owner_t::volume, and aout_owner_t::vp.
Referenced by ModuleThread_UpdateAudioFormat().
int aout_DecPlay | ( | audio_output_t * | aout, |
block_t * | block | ||
) |
References aout_CheckReady(), AOUT_DEC_FAILED, aout_DecSilence(), aout_DecSynchronize(), aout_FiltersChangeViewpoint(), aout_FiltersPlay(), aout_FiltersSetClockDelay(), aout_owner(), aout_volume_Amplify(), BLOCK_FLAG_DISCONTINUITY, block_Release(), aout_owner_t::buffers_lost, aout_owner_t::buffers_played, aout_owner_t::clock, aout_owner_t::delay, aout_owner_t::discontinuity, aout_owner_t::filters, block_t::i_flags, block_t::i_length, block_t::i_nb_samples, block_t::i_pts, audio_format_t::i_rate, aout_owner_t::input_format, aout_owner_t::lock, aout_owner_t::original_pts, audio_output::play, aout_owner_t::rate, aout_owner_t::request_delay, aout_owner_t::sync, unlikely, aout_owner_t::update, aout_owner_t::value, vlc_clock_ConvertToSystem(), vlc_clock_SetDelay(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_tick_from_samples(), VLC_TICK_INVALID, vlc_tick_now(), aout_owner_t::volume, and aout_owner_t::vp.
Referenced by ModuleThread_PlayAudio().
void aout_Destroy | ( | audio_output_t * | ) |
Deinitializes an audio output module and destroys an audio output object.
References aout_owner(), aout_Release(), audio_output::device_select, FilterCallback(), aout_owner_t::lock, aout_owner_t::module, module_unneed, audio_output::mute_set, StereoModeCallback(), var_Copy(), var_CopyDevice(), var_DelCallback(), var_SetFloat(), ViewpointCallback(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_object_parent, and audio_output::volume_set.
Referenced by input_resource_PutAout(), and input_resource_Release().
bool aout_FiltersCanResample | ( | aout_filters_t * | filters | ) |
References aout_filters::resampler.
Referenced by aout_RequestRetiming(), and aout_SetWavePhysicalChannels().
aout_filters_t* aout_FiltersNewWithClock | ( | vlc_object_t * | , |
const vlc_clock_t * | , | ||
const audio_sample_format_t * | , | ||
const audio_sample_format_t * | , | ||
const aout_filters_cfg_t * | cfg | ||
) |
Referenced by aout_CheckReady(), aout_DecNew(), and aout_SetWavePhysicalChannels().
void aout_FiltersResetClock | ( | aout_filters_t * | filters | ) |
References aout_filters::clock, and vlc_clock_Reset().
Referenced by aout_DecDrain(), aout_DecFlush(), and aout_SetWavePhysicalChannels().
void aout_FiltersSetClockDelay | ( | aout_filters_t * | filters, |
vlc_tick_t | delay | ||
) |
References aout_filters::clock, and vlc_clock_SetDelay().
Referenced by aout_CheckReady(), aout_DecFlush(), aout_DecPlay(), and aout_SetWavePhysicalChannels().
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.
|
inlinestatic |
References aout_RequestRestart(), and AOUT_RESTART_FILTERS.
Referenced by FilterCallback(), and VisualizationCallback().
audio_output_t* aout_New | ( | vlc_object_t * | ) |
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, module_config_t::list_count, module_config_t::list_text, aout_owner_t::lock, aout_owner_t::module, 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_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_custom_create, vlc_gettext(), 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 * | aout | ) |
Stops the audio output stream (undoes aout_OutputNew()).
References aout_owner(), aout_owner_t::lock, audio_output::stop, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by aout_CheckReady(), aout_DecDelete(), and aout_DecNew().
int aout_OutputNew | ( | audio_output_t * | aout | ) |
Starts an audio output stream.
output_codec | codec accepted by the module, it can be different than the codec from the mixer_format in case of DTSHD/DTS or EAC3/AC3 fallback |
References AOUT_CHAN_CENTER, AOUT_CHANS_7_1, AOUT_CHANS_STEREO, AOUT_FMT_LINEAR, aout_FormatNbChannels(), aout_FormatPrepare(), aout_FormatPrint, aout_owner(), aout_PrepareStereoMode(), aout_SetWavePhysicalChannels(), AOUT_VAR_CHAN_LEFT, AOUT_VAR_CHAN_RIGHT, ARRAY_SIZE, AUDIO_CHANNEL_TYPE_AMBISONICS, AUDIO_CHANNEL_TYPE_BITMAP, audio_format_t::channel_type, audio_output::current_sink_info, aout_owner_t::filter_format, aout_owner_t::filters_cfg, 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::input_profile, aout_owner_t::lock, aout_owner_t::mixer_format, msg_Err, audio_output::pause, audio_output::play, aout_owner_t::requested_stereo_mode, audio_output::start, audio_output::time_get, 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(), and VLC_SUCCESS.
Referenced by aout_CheckReady(), and aout_DecNew().
|
inlinestatic |
References aout_volume_New.
Referenced by aout_ChangeViewpoint(), aout_CheckReady(), aout_DecChangeDelay(), aout_DecChangePause(), aout_DecChangeRate(), aout_DecDelete(), aout_DecDrain(), aout_DecFlush(), aout_DecGetResetStats(), aout_DecNew(), aout_DecPlay(), aout_DecSilence(), aout_DecSynchronize(), aout_Destroy(), aout_DeviceSet(), aout_DevicesList(), aout_GainNotify(), aout_Hold(), aout_HotplugNotify(), aout_MuteSet(), aout_New(), aout_OutputDelete(), aout_OutputNew(), aout_PrepareStereoMode(), aout_Release(), aout_RequestRestart(), aout_RequestRetiming(), aout_StopResampling(), aout_VolumeSet(), and StereoModeCallback().
void aout_RequestRestart | ( | audio_output_t * | aout, |
unsigned | mode | ||
) |
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(), msg_Dbg, and aout_owner_t::restart.
Referenced by aout_InputRequestRestart(), and aout_RestartNotify().
void aout_RequestRetiming | ( | audio_output_t * | aout, |
vlc_tick_t | system_ts, | ||
vlc_tick_t | audio_ts | ||
) |
References aout_DecFlush(), aout_DecSilence(), aout_FiltersAdjustResampling(), aout_FiltersCanResample(), AOUT_MAX_PTS_ADVANCE, AOUT_MAX_PTS_DELAY, aout_owner(), AOUT_RESAMPLING_DOWN, AOUT_RESAMPLING_NONE, AOUT_RESAMPLING_UP, aout_StopResampling(), aout_owner_t::bitexact, aout_owner_t::clock, aout_owner_t::discontinuity, aout_owner_t::filters, msg_Dbg, msg_Warn, aout_owner_t::rate, aout_owner_t::resamp_start_drift, aout_owner_t::resamp_type, aout_owner_t::sync, unlikely, and vlc_clock_Update().
Referenced by aout_DecSynchronize(), and aout_TimingNotify().
|
inlinestatic |
References AOUT_CHAN_CENTER, AOUT_CHAN_LEFT, AOUT_CHAN_LFE, AOUT_CHAN_MAX, AOUT_CHAN_MIDDLELEFT, AOUT_CHAN_MIDDLERIGHT, AOUT_CHAN_REARCENTER, AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT, AOUT_CHAN_RIGHT, aout_FiltersCanResample(), aout_FiltersNewWithClock(), aout_FiltersResetClock(), aout_FiltersSetClockDelay(), aout_FormatPrepare(), vlc_clock_t::delay, audio_format_t::i_channels, audio_format_t::i_physical_channels, and VLC_USED.
Referenced by aout_FiltersNewWithClock(), and aout_OutputNew().
int aout_volume_Amplify | ( | aout_volume_t * | , |
block_t * | |||
) |
Applies replay gain and software volume to an audio buffer.
References audio_volume::amplify, aout_volume::gain_factor, aout_volume::module, aout_volume::object, aout_volume::output_factor, and unlikely.
Referenced by aout_DecPlay().
void aout_volume_Delete | ( | aout_volume_t * | ) |
Destroys a software amplifier.
References aout_volume::module, module_unneed, aout_volume::object, ReplayGainCallback(), var_DelCallback(), vlc_object_delete, and vlc_object_parent.
Referenced by aout_DecDelete(), and aout_DecNew().
aout_volume_t* aout_volume_New | ( | vlc_object_t * | , |
const audio_replay_gain_t * | |||
) |
Creates a software amplifier.
References aout_volume::module, aout_volume::output_factor, aout_volume::replay_gain, ReplayGainCallback(), unlikely, var_AddCallback(), var_TriggerCallback(), and vlc_custom_create.
int aout_volume_SetFormat | ( | aout_volume_t * | , |
vlc_fourcc_t | |||
) |
Selects the current sample format for software amplification.
References audio_volume::format, aout_volume::module, module_need, module_unneed, msg_Dbg, aout_volume::object, and unlikely.
Referenced by aout_CheckReady(), and aout_DecNew().
void aout_volume_SetVolume | ( | aout_volume_t * | , |
float | |||
) |
References aout_volume::output_factor, and unlikely.
Referenced by aout_GainNotify().