VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
aout_internal.h File Reference
Include dependency graph for aout_internal.h:

Go to the source code of this file.

Data Structures

struct  aout_request_vout_t
struct  aout_owner_t
struct  aout_instance_t

Macros

#define AOUT_MAX_INPUT_RATE   (4)
#define AOUT_MAX_FILTERS   10
#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)

Typedefs

typedef struct aout_volume aout_volume_t

Enumerations

enum  { AOUT_RESAMPLING_NONE = 0, AOUT_RESAMPLING_UP, AOUT_RESAMPLING_DOWN }

Functions

static aout_owner_taout_owner (audio_output_t *aout)
int aout_FiltersNew (audio_output_t *, const audio_sample_format_t *, const audio_sample_format_t *, const aout_request_vout_t *)
void aout_FiltersDelete (audio_output_t *)
 Destroys the audio filters.
bool aout_FiltersAdjustResampling (audio_output_t *, int)
block_taout_FiltersPlay (audio_output_t *, block_t *, int rate)
aout_volume_taout_volume_New (vlc_object_t *, const audio_replay_gain_t *)
int aout_volume_SetFormat (aout_volume_t *, vlc_fourcc_t)
 Selects the current sample format for software amplification.
void aout_volume_SetVolume (aout_volume_t *, float)
int aout_volume_Amplify (aout_volume_t *, block_t *)
 Applies replay gain and software volume to an audio buffer.
void aout_volume_Delete (aout_volume_t *)
 Destroys a software amplifier.
audio_output_taout_New (vlc_object_t *)
void aout_Destroy (audio_output_t *)
 Deinitializes an audio output module and destroys an audio output object.
int aout_OutputNew (audio_output_t *, audio_sample_format_t *)
int aout_OutputTimeGet (audio_output_t *, mtime_t *)
void aout_OutputPlay (audio_output_t *, block_t *)
 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)
 Stops the audio output stream (undoes aout_OutputNew()).
void aout_OutputLock (audio_output_t *)
void aout_OutputUnlock (audio_output_t *)
void aout_FormatsPrint (vlc_object_t *, const char *, const audio_sample_format_t *, const audio_sample_format_t *)
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 all plugins involved in the audio output.
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_RequestRestart (audio_output_t *, unsigned)
 Marks the audio output for restart, to update any parameter of the output plug-in (e.g.
static void aout_InputRequestRestart (audio_output_t *aout)

Macro Definition Documentation

#define aout_FormatsPrint (   o,
  t,
  a,
 
)    aout_FormatsPrint(VLC_OBJECT(o), t, a, b)
#define AOUT_MAX_FILTERS   10

Referenced by aout_FiltersNew().

#define AOUT_MAX_INPUT_RATE   (4)

Referenced by aout_DecPlay(), and DecoderPlayAudio().

#define aout_New (   a)    aout_New(VLC_OBJECT(a))

Referenced by input_resource_GetAout().

#define aout_volume_New (   o,
 
)    aout_volume_New(VLC_OBJECT(o), g)

Referenced by aout_DecNew().

Typedef Documentation

typedef struct aout_volume aout_volume_t

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 )
void aout_DecDeleteBuffer ( audio_output_t ,
block_t  
)

References block_Release().

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 )
bool aout_FiltersAdjustResampling ( audio_output_t ,
int   
)
void aout_FiltersDelete ( audio_output_t )
int aout_FiltersNew ( audio_output_t ,
const audio_sample_format_t ,
const audio_sample_format_t ,
const aout_request_vout_t  
)

Referenced by aout_CheckReady(), and aout_DecNew().

block_t* aout_FiltersPlay ( audio_output_t ,
block_t ,
int  rate 
)
void aout_FormatsPrint ( vlc_object_t ,
const char *  ,
const audio_sample_format_t ,
const audio_sample_format_t  
)
static void aout_InputRequestRestart ( audio_output_t aout)
inlinestatic
audio_output_t* aout_New ( vlc_object_t )
void aout_OutputDelete ( audio_output_t aout)

Stops the audio output stream (undoes aout_OutputNew()).

Note
This can only be called after a succesful aout_OutputNew().
Warning
The caller must hold the audio output lock.

References aout_ChannelsRestart(), aout_OutputAssertLocked(), audio_output::stop, and var_DelCallback.

Referenced by aout_CheckReady(), aout_DecDelete(), and aout_DecNew().

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
waitif true, wait for buffer playback (i.e. drain), if false, discard the buffers immediately (i.e. flush)
Note
This can only be called after a succesful aout_OutputNew().
Warning
The caller must hold the audio output lock.

References aout_OutputAssertLocked(), and audio_output::flush.

Referenced by aout_DecFlush(), aout_DecIsEmpty(), aout_DecSynchronize(), and PauseDefault().

void aout_OutputLock ( audio_output_t )
int aout_OutputNew ( audio_output_t ,
audio_sample_format_t  
)

Referenced by aout_CheckReady(), and aout_DecNew().

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.

Note
This can only be called after a succesful aout_OutputNew().
Warning
The caller must hold the audio output lock.

References aout_OutputAssertLocked(), audio_output::pause, and PauseDefault().

Referenced by aout_DecChangePause().

void aout_OutputPlay ( audio_output_t aout,
block_t block 
)

Plays a decoded audio buffer.

Note
This can only be called after a succesful aout_OutputNew().
Warning
The caller must hold the audio output lock.

References aout_OutputAssertLocked(), and audio_output::play.

Referenced by aout_DecPlay(), and aout_DecSilence().

int aout_OutputTimeGet ( audio_output_t ,
mtime_t  
)
void aout_OutputUnlock ( audio_output_t )
static aout_owner_t* aout_owner ( audio_output_t aout)
inlinestatic
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().

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, unlikely, and vlc_atomic_loadf().

Referenced by aout_DecPlay().

void aout_volume_Delete ( aout_volume_t )
aout_volume_t* aout_volume_New ( vlc_object_t ,
const audio_replay_gain_t  
)
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().