Data Structures | Defines | Enumerations | Functions

aout_internal.h File Reference

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_taout_owner (audio_output_t *aout)
aout_input_taout_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_taout_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_mixeraout_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_taout_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_taout_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_taout_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 Documentation

#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)
#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().


Enumeration Type Documentation

anonymous enum
Enumerator:
AOUT_RESAMPLING_NONE 
AOUT_RESAMPLING_UP 
AOUT_RESAMPLING_DOWN 

Function Documentation

bool aout_ChangeFilterString ( vlc_object_t manager,
vlc_object_t aout,
const char *  var,
const char *  name,
bool  b_add 
)
void aout_DecChangePause ( audio_output_t ,
bool  b_paused,
mtime_t  i_date 
)
void aout_DecDelete ( audio_output_t aout  ) 

Stops the decoded audio input.

Note:
Due to output recycling, this function is esssentially a stub.

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  ) 
int aout_DecGetResetLost ( audio_output_t  ) 
bool aout_DecIsEmpty ( audio_output_t  ) 
int aout_DecNew ( audio_output_t ,
const audio_sample_format_t ,
const audio_replay_gain_t ,
const aout_request_vout_t  
)
block_t* aout_DecNewBuffer ( audio_output_t ,
size_t   
)
int aout_DecPlay ( audio_output_t ,
block_t ,
int  i_input_rate 
)
void aout_Destroy ( audio_output_t  ) 
void aout_FifoDestroy ( aout_fifo_t p_fifo  ) 
mtime_t aout_FifoFirstDate ( const aout_fifo_t  ) 
void aout_FifoInit ( vlc_object_t ,
aout_fifo_t ,
uint32_t   
)
void aout_FifoMoveDates ( aout_fifo_t ,
mtime_t   
)
aout_buffer_t* aout_FifoPop ( aout_fifo_t p_fifo  ) 
void aout_FifoPush ( aout_fifo_t ,
aout_buffer_t  
)
void aout_FifoReset ( aout_fifo_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   
)
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 
)
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  
)
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]
static void aout_lock_volume ( audio_output_t p_aout  )  [inline, static]
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]
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  ) 
void aout_OutputDelete ( audio_output_t p_aout  ) 
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.

Parameters:
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 
)
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 
)
static aout_owner_t* aout_owner ( audio_output_t aout  )  [inline, static]
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  
)
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  ) 
static void aout_unlock ( audio_output_t p_aout  )  [inline, static]
static void aout_unlock_volume ( audio_output_t p_aout  )  [inline, static]
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines