VLC  4.0.0-dev
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables

Audio output modules interface. More...

Include dependency graph for vlc_aout.h:

Go to the source code of this file.

Data Structures

struct  vlc_audio_output_events
struct  audio_output
 Audio output object. More...
struct  aout_filters_cfg_t


 Maximum advance of actual audio playback time to coded PTS, above which downsampling will be performed. More...
 Maximum delay of actual audio playback time from coded PTS, above which upsampling will be performed. More...
#define AOUT_FMTS_IDENTICAL(p_first, p_second)
#define AOUT_FMTS_SIMILAR(p_first, p_second)
#define AOUT_FMT_LINEAR(p_format)   (aout_BitsPerSample((p_format)->i_format) != 0)
#define VLC_CODEC_SPDIFL   VLC_FOURCC('s','p','d','i')
#define VLC_CODEC_SPDIFB   VLC_FOURCC('s','p','d','b')
#define AOUT_FMT_SPDIF(p_format)
#define AOUT_FMT_HDMI(p_format)
#define AOUT_VAR_CHAN_UNSET   0 /* must be zero */
#define AOUT_VAR_CHAN_LEFT   3
#define AOUT_VAR_CHAN_MONO   7
#define AOUT_SPDIF_SIZE   6144
#define A52_FRAME_NB   1536
#define aout_FormatPrint(o, t, f)   aout_FormatPrint(VLC_OBJECT(o), t, f)
#define AOUT_VOLUME_MAX   512
#define aout_FiltersNew(o, inf, outf, remap)   aout_FiltersNew(VLC_OBJECT(o),inf,outf,remap)
#define aout_FiltersDelete(o, f)   aout_FiltersDelete(VLC_OBJECT(o),f)


typedef struct aout_filters aout_filters_t


enum  vlc_chan_order_idx_t {


unsigned aout_CheckChannelReorder (const uint32_t *, const uint32_t *, uint32_t mask, uint8_t *table)
 This function computes the reordering needed to go from pi_chan_order_in to pi_chan_order_out. More...
void aout_ChannelReorder (void *, size_t, uint8_t, const uint8_t *, vlc_fourcc_t)
void aout_Interleave (void *dst, const void *const *planes, unsigned samples, unsigned channels, vlc_fourcc_t fourcc)
void aout_Deinterleave (void *dst, const void *src, unsigned samples, unsigned channels, vlc_fourcc_t fourcc)
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 function 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. More...
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. More...
static unsigned aout_FormatNbChannels (const audio_sample_format_t *fmt)
unsigned int aout_BitsPerSample (vlc_fourcc_t i_format)
void aout_FormatPrepare (audio_sample_format_t *p_format)
void aout_FormatPrint (vlc_object_t *, const char *, const audio_sample_format_t *)
 Prints an audio sample format in a human-readable form. More...
const char * aout_FormatPrintChannels (const audio_sample_format_t *)
float aout_VolumeGet (audio_output_t *)
 Gets the volume of the audio output stream (independent of mute). More...
int aout_VolumeSet (audio_output_t *, float)
 Sets the volume of the audio output stream. More...
int aout_VolumeUpdate (audio_output_t *, int, float *)
 Raises the volume. More...
int aout_MuteGet (audio_output_t *)
 Gets the audio output stream mute flag. More...
int aout_MuteSet (audio_output_t *, bool)
 Sets the audio output stream mute flag. More...
char * aout_DeviceGet (audio_output_t *)
 Gets the currently selected device. More...
int aout_DeviceSet (audio_output_t *, const char *)
 Selects an audio output device. More...
int aout_DevicesList (audio_output_t *, char ***, char ***)
 Enumerates possible audio output devices. More...
static void aout_VolumeReport (audio_output_t *aout, float volume)
 Report change of configured audio volume to the core and UI. More...
static void aout_MuteReport (audio_output_t *aout, bool mute)
 Report change of muted flag to the core and UI. More...
static void aout_PolicyReport (audio_output_t *aout, bool cork)
 Report audio policy status. More...
static void aout_DeviceReport (audio_output_t *aout, const char *id)
 Report change of output device. More...
static void aout_HotplugReport (audio_output_t *aout, const char *id, const char *name)
 Report a device hot-plug event. More...
static int aout_GainRequest (audio_output_t *aout, float gain)
 Request a change of software audio amplification. More...
static void aout_RestartRequest (audio_output_t *aout, unsigned mode)
static int aout_TimeGetDefault (audio_output_t *aout, vlc_tick_t *restrict delay)
 Default implementation for audio_output_t.time_get. More...
static void aout_PauseDefault (audio_output_t *aout, bool paused, vlc_tick_t date)
 Default implementation for audio_output_t.pause. More...
int aout_EnableFilter (audio_output_t *aout, const char *name, bool add)
 Enable or disable an audio filter ("audio-filter") More...
aout_filters_taout_FiltersNew (vlc_object_t *, const audio_sample_format_t *, const audio_sample_format_t *, const aout_filters_cfg_t *cfg)
void aout_FiltersDelete (vlc_object_t *, aout_filters_t *)
 Destroys a chain of audio filters. More...
bool aout_FiltersAdjustResampling (aout_filters_t *, int)
block_taout_FiltersPlay (aout_filters_t *, block_t *, float rate)
block_taout_FiltersDrain (aout_filters_t *)
void aout_FiltersFlush (aout_filters_t *)
void aout_FiltersChangeViewpoint (aout_filters_t *, const vlc_viewpoint_t *vp)
vout_thread_taout_filter_GetVout (filter_t *, const video_format_t *)


static const uint32_t pi_vlc_chan_order_wg4 []
 It describes the audio channel order VLC expect. More...

Detailed Description

Audio output modules interface.