23 #ifndef LIBVLC_AOUT_INTERNAL_H 24 # define LIBVLC_AOUT_INTERNAL_H 1 26 # include <stdatomic.h> 29 # include "../clock/clock.h" 32 # define AOUT_MAX_INPUT_RATE (4) 119 #define aout_volume_New(o, g) aout_volume_New(VLC_OBJECT(o), g) 128 #define aout_New(a) aout_New(VLC_OBJECT(a)) 139 #define aout_FormatsPrint(o, t, a, b) \ 140 aout_FormatsPrint(VLC_OBJECT(o), t, a, b) 143 #define AOUT_DEC_SUCCESS 0 144 #define AOUT_DEC_CHANGED 1 145 #define AOUT_DEC_FAILED VLC_EGENERIC 168 static const uint32_t wave_channels[] = {
void aout_FormatPrepare(audio_sample_format_t *p_format)
Definition: common.c:87
#define AOUT_CHAN_REARCENTER
Definition: vlc_es.h:120
Definition: aout_internal.h:43
audio_sample_format_t filter_format
Definition: aout_internal.h:88
void aout_FiltersResetClock(aout_filters_t *filters)
Definition: filters.c:656
audio_sample_format_t input_format
Definition: aout_internal.h:82
#define AOUT_CHAN_MIDDLERIGHT
Definition: vlc_es.h:124
void aout_DecDelete(audio_output_t *)
Stops all plugins involved in the audio output.
Definition: dec.c:134
module_t * module
Output plugin (or NULL if inactive)
Definition: aout_internal.h:46
atomic_bool update
Definition: aout_internal.h:59
void aout_FiltersSetClockDelay(aout_filters_t *filters, vlc_tick_t delay)
Definition: filters.c:662
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)
int aout_DecPlay(audio_output_t *aout, block_t *block)
Definition: dec.c:405
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:278
aout_filters_cfg_t filters_cfg
Definition: aout_internal.h:93
aout_filters_t * filters
Definition: aout_internal.h:47
vlc_tick_t first_pts
Definition: aout_internal.h:73
vlc_tick_t delay
Definition: clock.c:73
Definition: vlc_aout.h:496
vlc_mutex_t lock
Definition: rand.c:32
static aout_owner_t * aout_owner(audio_output_t *aout)
Definition: aout_internal.h:108
audio_sample_format_t mixer_format
Definition: aout_internal.h:91
void aout_RequestRetiming(audio_output_t *aout, vlc_tick_t system_ts, vlc_tick_t audio_ts)
Definition: dec.c:305
void aout_DecGetResetStats(audio_output_t *, unsigned *, unsigned *)
Definition: aout_internal.h:36
Definition: filters.c:345
Internal module descriptor.
Definition: modules.h:75
#define AOUT_RESTART_FILTERS
Definition: vlc_aout.h:324
Definition: aout_internal.h:35
#define AOUT_CHAN_CENTER
Definition: vlc_es.h:117
unsigned count
Definition: aout_internal.h:54
atomic_uint buffers_played
Definition: aout_internal.h:96
float rate
Play-out speed rate.
Definition: aout_internal.h:67
#define AOUT_CHAN_LFE
Definition: vlc_es.h:125
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.
Definition: dec.c:56
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
vlc_viewpoint_t value
Definition: aout_internal.h:61
audio_output_t output
Definition: aout_internal.h:104
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:33
int aout_volume_SetFormat(aout_volume_t *, vlc_fourcc_t)
Selects the current sample format for software amplification.
Definition: volume.c:81
void aout_DecChangeDelay(audio_output_t *aout, vlc_tick_t delay)
Definition: dec.c:520
Viewpoints.
Definition: vlc_viewpoint.h:41
#define AOUT_CHAN_MAX
Definition: vlc_es.h:153
int requested_stereo_mode
Requested stereo mode set by the user.
Definition: aout_internal.h:77
vlc_tick_t request_delay
Definition: aout_internal.h:71
vlc_tick_t delay
Definition: aout_internal.h:72
#define aout_FormatsPrint(o, t, a, b)
Definition: aout_internal.h:139
#define AOUT_CHAN_REARRIGHT
Definition: vlc_es.h:122
#define aout_volume_New(o, g)
Definition: aout_internal.h:119
void aout_DecChangePause(audio_output_t *, bool b_paused, vlc_tick_t i_date)
Definition: dec.c:500
static void aout_InputRequestRestart(audio_output_t *aout)
Definition: aout_internal.h:161
#define aout_New(a)
Definition: aout_internal.h:128
#define AOUT_CHAN_MIDDLELEFT
Definition: vlc_es.h:123
Video and audio viewpoint struct and helpers.
int aout_volume_Amplify(aout_volume_t *, block_t *)
Applies replay gain and software volume to an audio buffer.
Definition: volume.c:133
void aout_OutputDelete(audio_output_t *p_aout)
Stops the audio output stream (undoes aout_OutputNew()).
Definition: output.c:627
aout_owner_t owner
Definition: aout_internal.h:105
atomic_uintptr_t refs
Definition: aout_internal.h:99
Audio output object.
Definition: vlc_aout.h:140
void aout_DecFlush(audio_output_t *)
Definition: dec.c:527
bool discontinuity
Definition: aout_internal.h:70
Definition: aout_internal.h:37
atomic_uchar restart
Definition: aout_internal.h:97
int input_profile
Definition: aout_internal.h:81
int aout_OutputNew(audio_output_t *)
Starts an audio output stream.
Definition: output.c:524
void aout_DecChangeRate(audio_output_t *aout, float rate)
Definition: dec.c:513
#define AOUT_CHAN_REARLEFT
Definition: vlc_es.h:121
int resamp_type
Resampler mode (FIXME: redundant / resampling)
Definition: aout_internal.h:69
atomic_uint buffers_lost
Definition: aout_internal.h:95
struct vlc_clock_t * clock
Definition: aout_internal.h:66
void aout_RequestRestart(audio_output_t *, unsigned)
Marks the audio output for restart, to update any parameter of the output plug-in (e...
Definition: dec.c:208
#define AOUT_CHAN_LEFT
Definition: vlc_es.h:118
Definition: vlc_block.h:117
bool aout_FiltersCanResample(aout_filters_t *filters)
Definition: filters.c:702
vlc_tick_t resamp_start_drift
Resampler drift absolute value.
Definition: aout_internal.h:68
vlc_mutex_t lock
Definition: aout_internal.h:45
aout_dev_t * list
Definition: aout_internal.h:53
Definition: aout_internal.h:102
vlc_tick_t original_pts
Definition: aout_internal.h:75
#define AOUT_CHAN_RIGHT
Definition: vlc_es.h:119
void aout_DecDrain(audio_output_t *)
Definition: dec.c:557
void aout_Destroy(audio_output_t *)
Deinitializes an audio output module and destroys an audio output object.
Definition: output.c:355
void aout_volume_Delete(aout_volume_t *)
Destroys a software amplifier.
Definition: volume.c:108
VLC object common members.
Definition: vlc_objects.h:43
aout_volume_t * volume
Definition: aout_internal.h:48
#define VLC_USED
Definition: fourcc_gen.c:32
void aout_volume_SetVolume(aout_volume_t *, float)
Definition: volume.c:122
static void aout_SetWavePhysicalChannels(audio_sample_format_t *fmt)
Definition: aout_internal.h:166