VLC 4.0.0-dev
No Matches

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
struct  vlc_audio_loudness
 Audio loudness measurement. More...
struct  vlc_audio_meter_cbs
 Audio meter callback. More...
struct  vlc_audio_meter_plugin_owner
 Audio meter plugin owner structure. More...
struct  vlc_audio_meter
 Audio meter structure. More...


 Maximum advance of actual audio playback time to coded PTS, above which downsampling will be performed.
 Maximum delay of actual audio playback time from coded PTS, above which upsampling will be performed.
#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_MIX_MODE_4_0   3
#define AOUT_MIX_MODE_5_1   4
#define AOUT_MIX_MODE_7_1   5
#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)
#define vlc_audio_meter_Init(a, b)   vlc_audio_meter_Init(a, VLC_OBJECT(b))


typedef struct aout_filters aout_filters_t
typedef struct vlc_audio_meter_plugin vlc_audio_meter_plugin
 Audio meter plugin opaque structure.


enum  vlc_chan_order_idx_t {


static void aout_TimingReport (audio_output_t *aout, vlc_tick_t system_ts, vlc_tick_t audio_ts)
 Report a new timing point.
static void aout_DrainedReport (audio_output_t *aout)
 Report than the stream is drained (after a call to aout->drain_async)
static void aout_VolumeReport (audio_output_t *aout, float volume)
 Report change of configured audio volume to the core and UI.
static void aout_MuteReport (audio_output_t *aout, bool mute)
 Report change of muted flag to the core and UI.
static void aout_PolicyReport (audio_output_t *aout, bool cork)
 Report audio policy status.
static void aout_DeviceReport (audio_output_t *aout, const char *id)
 Report change of output device.
static void aout_HotplugReport (audio_output_t *aout, const char *id, const char *name)
 Report a device hot-plug event.
static int aout_GainRequest (audio_output_t *aout, float gain)
 Request a change of software audio amplification.
static void aout_RestartRequest (audio_output_t *aout, unsigned mode)
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.
void aout_ChannelReorder (void *ptr, size_t bytes, uint8_t channels, const uint8_t *chans_table, vlc_fourcc_t fourcc)
 Reorders audio samples within a block of linear audio interleaved samples.
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.
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.
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)
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.
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).
int aout_VolumeSet (audio_output_t *, float)
 Sets the volume of the audio output stream.
int aout_VolumeUpdate (audio_output_t *aout, int value, float *volp)
 Raises the volume.
int aout_MuteGet (audio_output_t *)
 Gets the audio output stream mute flag.
int aout_MuteSet (audio_output_t *, bool)
 Sets the audio output stream mute flag.
char * aout_DeviceGet (audio_output_t *)
 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.
int aout_EnableFilter (audio_output_t *aout, const char *name, bool add)
 Enable or disable an audio filter ("audio-filter")
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.
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 *)
 Create a vout from an "visualization" audio filter.
void vlc_audio_meter_Init (struct vlc_audio_meter *meter, vlc_object_t *parent)
 Initialize the audio meter structure.
void vlc_audio_meter_Destroy (struct vlc_audio_meter *meter)
 Free allocated resource from the audio meter structure.
int vlc_audio_meter_Reset (struct vlc_audio_meter *meter, const audio_sample_format_t *fmt)
 Set or reset the audio format.
vlc_audio_meter_pluginvlc_audio_meter_AddPlugin (struct vlc_audio_meter *meter, const char *chain, const struct vlc_audio_meter_plugin_owner *owner)
 Add an "audio meter" plugin.
void vlc_audio_meter_RemovePlugin (struct vlc_audio_meter *meter, vlc_audio_meter_plugin *plugin)
 Remove an "audio meter" plugin.
void vlc_audio_meter_Process (struct vlc_audio_meter *meter, block_t *block, vlc_tick_t date)
 Process an audio block.
void vlc_audio_meter_Flush (struct vlc_audio_meter *meter)
 Flush all "audio meter" plugins.


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

Detailed Description

Audio output modules interface.