AudioOutputBase Class Reference

#include <audiooutputbase.h>

Inheritance diagram for AudioOutputBase:
AudioOutput MThread VolumeBase OutputListeners MythObservable AudioOutputALSA AudioOutputCA AudioOutputDX AudioOutputJACK AudioOutputNULL AudioOutputOSS AudioOutputPulseAudio AudioOutputWin

List of all members.

Public Member Functions

const char * quality_string (int q)
 AudioOutputBase (const AudioSettings &settings)
virtual ~AudioOutputBase ()
 Destructor.
AudioOutputSettingsGetOutputSettingsCleaned (bool digital=true)
 Returns capabilities supported by the audio device amended to take into account the digital audio options (AC3, DTS, E-AC3 and TrueHD).
AudioOutputSettingsGetOutputSettingsUsers (bool digital=false)
 Returns capabilities supported by the audio device amended to take into account the digital audio options (AC3, DTS, E-AC3 and TrueHD) as well as the user settings.
virtual void Reconfigure (const AudioSettings &settings)
 (Re)Configure AudioOutputBase
virtual void SetEffDsp (int dsprate)
 Set the effective DSP rate.
virtual void SetStretchFactor (float factor)
 Set the timestretch factor.
virtual float GetStretchFactor (void) const
 Get the timetretch factor.
virtual int GetChannels (void) const
virtual AudioFormat GetFormat (void) const
virtual int GetBytesPerFrame (void) const
virtual bool CanPassthrough (int samplerate, int channels, int codec, int profile) const
 Test if we can output digital audio and if sample rate is supported.
virtual bool CanDownmix (void) const
virtual bool IsUpmixing (void)
 Source is currently being upmixed.
virtual bool ToggleUpmix (void)
 Toggle between stereo and upmixed 5.1 if the source material is stereo.
virtual bool CanUpmix (void)
 Upmixing of the current source is available if requested.
virtual void Reset (void)
 Reset the audiobuffer, timecode and mythmusic visualisation.
void SetSWVolume (int new_volume, bool save)
 Set the volume for software volume control.
int GetSWVolume (void)
 Get the volume for software volume control.
virtual bool AddFrames (void *buffer, int frames, int64_t timecode)
 Add frames to the audiobuffer and perform any required processing.
virtual bool AddData (void *buffer, int len, int64_t timecode, int frames)
 Add data to the audiobuffer and perform any required processing.
virtual bool NeedDecodingBeforePassthrough () const
 NeedDecodingBeforePassthrough: returns true if AudioOutput class can determine the length in millisecond of native audio frames bitstreamed passed to AddData.
virtual int64_t LengthLastData (void) const
 LengthLastData: returns the length of the last data added in millisecond.
virtual void SetTimecode (int64_t timecode)
 Set the timecode of the samples most recently added to the audiobuffer.
virtual bool IsPaused (void) const
virtual void Pause (bool paused)
void PauseUntilBuffered (void)
virtual void Drain (void)
 Block until all available frames have been written to the device.
virtual int64_t GetAudiotime (void)
 Calculate the timecode of the samples that are about to become audible.
virtual int64_t GetAudioBufferedTime (void)
 Get the difference in timecode between the samples that are about to become audible and the samples most recently added to the audiobuffer, i.e.
virtual void Status (void)
 Report status via an OutputEvent.
virtual void SetSourceBitrate (int rate)
 Set the bitrate of the source material, reported in periodic OutputEvents.
virtual void GetBufferStatus (uint &fill, uint &total)
 Fill in the number of bytes in the audiobuffer and the total size of the audiobuffer.
virtual void bufferOutputData (bool y)
virtual int readOutputData (unsigned char *read_buffer, int max_length)

Static Public Attributes

static const uint kAudioSRCInputSize = 16384
static const uint kAudioRingBufferSize = 3072000u
 Audio Buffer Size -- should be divisible by 32,24,16,12,10,8,6,4,2..

Protected Types

enum  { QUALITY_DISABLED = -1, QUALITY_LOW = 0, QUALITY_MEDIUM = 1, QUALITY_HIGH = 2 }

Protected Member Functions

void InitSettings (const AudioSettings &settings)
virtual bool OpenDevice (void)=0
virtual void CloseDevice (void)=0
virtual void WriteAudio (uchar *aubuf, int size)=0
virtual int GetBufferedOnSoundcard (void) const =0
 Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback latency.
virtual AudioOutputSettingsGetOutputSettings (bool digital)
void KillAudio (void)
 Kill the output thread and cleanup.
virtual bool StartOutputThread (void)
virtual void StopOutputThread (void)
int GetAudioData (uchar *buffer, int buf_size, bool fill_buffer, volatile uint *local_raud=NULL)
 Copy frames from the audiobuffer into the buffer provided.
void OutputAudioLoop (void)
 Run in the output thread, write frames to the output device as they become available and there's space in the device buffer to write them.
virtual void run ()
 Main routine for the output thread.
int CheckFreeSpace (int &frames)
 Check that there's enough space in the audiobuffer to write the provided number of frames.
int audiolen ()
 Get the number of bytes in the audiobuffer.
int audiofree ()
 Get the free space in the audiobuffer in bytes.
int audioready ()
 Get the scaled number of bytes in the audiobuffer, i.e.
void SetStretchFactorLocked (float factor)
 Set the timestretch factor.
int GetBaseAudBufTimeCode () const

Protected Attributes

int channels
int codec
int bytes_per_frame
int output_bytes_per_frame
AudioFormat format
AudioFormat output_format
int samplerate
int effdsp
int fragment_size
long soundcard_buffer_size
QString main_device
QString passthru_device
bool m_discretedigital
bool passthru
bool enc
bool reenc
float stretchfactor
int eff_stretchfactor
AudioOutputSource source
bool killaudio
bool pauseaudio
bool actually_paused
bool was_paused
bool unpause_when_ready
bool set_initial_vol
bool buffer_output_data_for_use
int configured_channels
int max_channels
int src_quality

Private Member Functions

bool SetupPassthrough (int codec, int codec_profile, int &samplerate_tmp, int &channels_tmp)
AudioOutputSettingsOutputSettings (bool digital=true)
int CopyWithUpmix (char *buffer, int frames, uint &org_waud)
 Copy frames into the audiobuffer, upmixing en route if necessary.
void SetAudiotime (int frames, int64_t timecode)
 Set the timecode of the top of the ringbuffer Exclude all other processing elements as they dont vary between AddData calls.

Private Attributes

AudioOutputSettingsoutput_settingsraw
AudioOutputSettingsoutput_settings
AudioOutputSettingsoutput_settingsdigitalraw
AudioOutputSettingsoutput_settingsdigital
bool need_resampler
SRC_STATE * src_ctx
soundtouch::SoundTouchpSoundStretch
AudioOutputDigitalEncoderencoder
FreeSurroundupmixer
int source_channels
int source_samplerate
int source_bytes_per_frame
bool upmix_default
bool needs_upmix
bool needs_downmix
int surround_mode
float old_stretchfactor
int volume
QString volumeControl
bool processing
int64_t frames_buffered
bool audio_thread_exists
QMutex audio_buflock
 Writes to the audiobuffer, reconfigures and audiobuffer resets can only take place while holding this lock.
QMutex avsync_lock
 must hold avsync_lock to read or write 'audiotime' and 'audiotime_updated'
int64_t audiotime
 timecode of audio leaving the soundcard (same units as timecodes)
volatile uint raud
 Audio circular buffer.
volatile uint waud
int64_t audbuf_timecode
 timecode of audio most recently placed into buffer
AsyncLooseLock reset_active
QMutex killAudioLock
long current_seconds
long source_bitrate
float * src_in
SRC_DATA src_data
uint memory_corruption_test0
float src_in_buf [kAudioSRCInputSize+16]
uint memory_corruption_test1
float * src_out
int kAudioSRCOutputSize
uint memory_corruption_test2
uchar audiobuffer [kAudioRingBufferSize]
 main audio buffer
uint memory_corruption_test3
uint m_configure_succeeded
int64_t m_length_last_data
SPDIFEncoderm_spdifenc
bool m_forcedprocessing
int m_previousbpf

Detailed Description

Definition at line 51 of file audiooutputbase.h.


Member Enumeration Documentation

anonymous enum [protected]
Enumerator:
QUALITY_DISABLED 
QUALITY_LOW 
QUALITY_MEDIUM 
QUALITY_HIGH 

Definition at line 191 of file audiooutputbase.h.


Constructor & Destructor Documentation

AudioOutputBase::AudioOutputBase ( const AudioSettings settings  ) 

Definition at line 47 of file audiooutputbase.cpp.

AudioOutputBase::~AudioOutputBase (  )  [virtual]

Destructor.

You must kill the output thread via KillAudio() prior to destruction

Definition at line 131 of file audiooutputbase.cpp.


Member Function Documentation

const char * AudioOutputBase::quality_string ( int  q  ) 

Definition at line 35 of file audiooutputbase.cpp.

Referenced by AudioOutputBase(), and Reconfigure().

AudioOutputSettings * AudioOutputBase::GetOutputSettingsCleaned ( bool  digital = true  )  [virtual]

Returns capabilities supported by the audio device amended to take into account the digital audio options (AC3, DTS, E-AC3 and TrueHD).

Reimplemented from AudioOutput.

Definition at line 191 of file audiooutputbase.cpp.

Referenced by GetOutputSettingsUsers().

AudioOutputSettings * AudioOutputBase::GetOutputSettingsUsers ( bool  digital = false  )  [virtual]

Returns capabilities supported by the audio device amended to take into account the digital audio options (AC3, DTS, E-AC3 and TrueHD) as well as the user settings.

Reimplemented from AudioOutput.

Definition at line 221 of file audiooutputbase.cpp.

Referenced by InitSettings().

void AudioOutputBase::Reconfigure ( const AudioSettings orig_settings  )  [virtual]
void AudioOutputBase::SetEffDsp ( int  dsprate  )  [virtual]

Set the effective DSP rate.

Equal to 100 * samples per second NuppelVideo sets this every sync frame to achieve av sync

Implements AudioOutput.

Definition at line 989 of file audiooutputbase.cpp.

void AudioOutputBase::SetStretchFactor ( float  factor  )  [virtual]

Set the timestretch factor.

Reimplemented from AudioOutput.

Definition at line 378 of file audiooutputbase.cpp.

float AudioOutputBase::GetStretchFactor ( void   )  const [virtual]

Get the timetretch factor.

Reimplemented from AudioOutput.

Definition at line 387 of file audiooutputbase.cpp.

virtual int AudioOutputBase::GetChannels ( void   )  const [inline, virtual]

Reimplemented from AudioOutput.

Definition at line 70 of file audiooutputbase.h.

virtual AudioFormat AudioOutputBase::GetFormat ( void   )  const [inline, virtual]

Reimplemented from AudioOutput.

Definition at line 71 of file audiooutputbase.h.

virtual int AudioOutputBase::GetBytesPerFrame ( void   )  const [inline, virtual]

Reimplemented from AudioOutput.

Definition at line 72 of file audiooutputbase.h.

bool AudioOutputBase::CanPassthrough ( int  samplerate,
int  channels,
int  codec,
int  profile 
) const [virtual]

Test if we can output digital audio and if sample rate is supported.

Reimplemented from AudioOutput.

Definition at line 246 of file audiooutputbase.cpp.

virtual bool AudioOutputBase::CanDownmix ( void   )  const [inline, virtual]

Reimplemented from AudioOutput.

Definition at line 76 of file audiooutputbase.h.

bool AudioOutputBase::IsUpmixing ( void   )  [virtual]

Source is currently being upmixed.

Implements AudioOutput.

Definition at line 395 of file audiooutputbase.cpp.

Referenced by ToggleUpmix().

bool AudioOutputBase::ToggleUpmix ( void   )  [virtual]

Toggle between stereo and upmixed 5.1 if the source material is stereo.

Implements AudioOutput.

Definition at line 403 of file audiooutputbase.cpp.

bool AudioOutputBase::CanUpmix ( void   )  [virtual]

Upmixing of the current source is available if requested.

Implements AudioOutput.

Definition at line 420 of file audiooutputbase.cpp.

void AudioOutputBase::Reset ( void   )  [virtual]

Reset the audiobuffer, timecode and mythmusic visualisation.

Implements AudioOutput.

Reimplemented in AudioOutputNULL.

Definition at line 941 of file audiooutputbase.cpp.

Referenced by PauseUntilBuffered().

void AudioOutputBase::SetSWVolume ( int  new_volume,
bool  save 
) [virtual]

Set the volume for software volume control.

Implements VolumeBase.

Definition at line 1163 of file audiooutputbase.cpp.

int AudioOutputBase::GetSWVolume ( void   )  [virtual]

Get the volume for software volume control.

Implements VolumeBase.

Definition at line 1173 of file audiooutputbase.cpp.

bool AudioOutputBase::AddFrames ( void *  in_buffer,
int  in_frames,
int64_t  timecode 
) [virtual]

Add frames to the audiobuffer and perform any required processing.

Returns false if there's not enough space right now

Implements AudioOutput.

Definition at line 1306 of file audiooutputbase.cpp.

bool AudioOutputBase::AddData ( void *  in_buffer,
int  in_len,
int64_t  timecode,
int  frames 
) [virtual]

Add data to the audiobuffer and perform any required processing.

Returns false if there's not enough space right now

Implements AudioOutput.

Definition at line 1318 of file audiooutputbase.cpp.

Referenced by AddFrames().

virtual bool AudioOutputBase::NeedDecodingBeforePassthrough ( void   )  const [inline, virtual]

NeedDecodingBeforePassthrough: returns true if AudioOutput class can determine the length in millisecond of native audio frames bitstreamed passed to AddData.

If false, LengthLastData method must be implemented

Reimplemented from AudioOutput.

Definition at line 89 of file audiooutputbase.h.

virtual int64_t AudioOutputBase::LengthLastData ( void   )  const [inline, virtual]

LengthLastData: returns the length of the last data added in millisecond.

This function must be implemented if NeedDecodingBeforePassthrough returned false

Reimplemented from AudioOutput.

Definition at line 90 of file audiooutputbase.h.

void AudioOutputBase::SetTimecode ( int64_t  timecode  )  [virtual]

Set the timecode of the samples most recently added to the audiobuffer.

Used by mythmusic for seeking since it doesn't provide timecodes to AddData()

Implements AudioOutput.

Definition at line 977 of file audiooutputbase.cpp.

virtual bool AudioOutputBase::IsPaused ( void   )  const [inline, virtual]

Implements AudioOutput.

Definition at line 93 of file audiooutputbase.h.

void AudioOutputBase::Pause ( bool  paused  )  [virtual]

Implements AudioOutput.

Definition at line 920 of file audiooutputbase.cpp.

Referenced by AddData(), and PauseUntilBuffered().

void AudioOutputBase::PauseUntilBuffered ( void   )  [virtual]

Implements AudioOutput.

Definition at line 931 of file audiooutputbase.cpp.

void AudioOutputBase::Drain ( void   )  [virtual]

Block until all available frames have been written to the device.

Implements AudioOutput.

Reimplemented in AudioOutputPulseAudio.

Definition at line 1806 of file audiooutputbase.cpp.

int64_t AudioOutputBase::GetAudiotime ( void   )  [virtual]

Calculate the timecode of the samples that are about to become audible.

Implements AudioOutput.

Reimplemented in AudioOutputCA.

Definition at line 1035 of file audiooutputbase.cpp.

Referenced by GetAudioBufferedTime(), OutputAudioLoop(), SetAudiotime(), and Status().

int64_t AudioOutputBase::GetAudioBufferedTime ( void   )  [virtual]

Get the difference in timecode between the samples that are about to become audible and the samples most recently added to the audiobuffer, i.e.

the time in ms representing the sum total of buffered samples

Reimplemented from AudioOutput.

Definition at line 1151 of file audiooutputbase.cpp.

void AudioOutputBase::Status ( void   )  [virtual]

Report status via an OutputEvent.

Definition at line 1599 of file audiooutputbase.cpp.

Referenced by AudioOutputJACK::JackCallback(), and OutputAudioLoop().

void AudioOutputBase::SetSourceBitrate ( int  rate  )  [virtual]

Set the bitrate of the source material, reported in periodic OutputEvents.

Reimplemented from AudioOutput.

Definition at line 305 of file audiooutputbase.cpp.

void AudioOutputBase::GetBufferStatus ( uint fill,
uint total 
) [virtual]

Fill in the number of bytes in the audiobuffer and the total size of the audiobuffer.

Reimplemented from AudioOutput.

Definition at line 1623 of file audiooutputbase.cpp.

virtual void AudioOutputBase::bufferOutputData ( bool  y  )  [inline, virtual]

Implements AudioOutput.

Definition at line 111 of file audiooutputbase.h.

int AudioOutputBase::readOutputData ( unsigned char *  read_buffer,
int  max_length 
) [virtual]

Implements AudioOutput.

Reimplemented in AudioOutputNULL.

Definition at line 1824 of file audiooutputbase.cpp.

void AudioOutputBase::InitSettings ( const AudioSettings settings  )  [protected]
virtual bool AudioOutputBase::OpenDevice ( void   )  [protected, pure virtual]
virtual void AudioOutputBase::CloseDevice ( void   )  [protected, pure virtual]
virtual void AudioOutputBase::WriteAudio ( uchar *  aubuf,
int  size 
) [protected, pure virtual]

Implemented in AudioOutputALSA.

Referenced by OutputAudioLoop().

virtual int AudioOutputBase::GetBufferedOnSoundcard ( void   )  const [protected, pure virtual]

Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback latency.

Implemented in AudioOutputALSA, AudioOutputCA, AudioOutputDX, AudioOutputJACK, AudioOutputNULL, AudioOutputOSS, AudioOutputPulseAudio, and AudioOutputWin.

Referenced by GetAudiotime().

virtual AudioOutputSettings* AudioOutputBase::GetOutputSettings ( bool  digital  )  [inline, protected, virtual]
void AudioOutputBase::KillAudio ( void   )  [protected]
bool AudioOutputBase::StartOutputThread ( void   )  [protected, virtual]

Reimplemented in AudioOutputCA, and AudioOutputJACK.

Definition at line 854 of file audiooutputbase.cpp.

Referenced by Reconfigure().

void AudioOutputBase::StopOutputThread ( void   )  [protected, virtual]

Reimplemented in AudioOutputCA, and AudioOutputJACK.

Definition at line 866 of file audiooutputbase.cpp.

Referenced by KillAudio().

int AudioOutputBase::GetAudioData ( uchar *  buffer,
int  size,
bool  full_buffer,
volatile uint local_raud = NULL 
) [protected]

Copy frames from the audiobuffer into the buffer provided.

If 'full_buffer' is true we copy either 'size' bytes (if available) or nothing. Otherwise, we'll copy less than 'size' bytes if that's all that's available. Returns the number of bytes copied.

Definition at line 1729 of file audiooutputbase.cpp.

Referenced by AudioOutputJACK::JackCallback(), OutputAudioLoop(), and AudioOutputCA::RenderAudio().

void AudioOutputBase::OutputAudioLoop ( void   )  [protected]

Run in the output thread, write frames to the output device as they become available and there's space in the device buffer to write them.

Definition at line 1634 of file audiooutputbase.cpp.

Referenced by run().

void AudioOutputBase::run ( void   )  [protected, virtual]

Main routine for the output thread.

Reimplemented from MThread.

Definition at line 1815 of file audiooutputbase.cpp.

int AudioOutputBase::CheckFreeSpace ( int &  frames  )  [protected]

Check that there's enough space in the audiobuffer to write the provided number of frames.

If there is not enough space, set 'frames' to the number that will fit

Returns the number of bytes that the frames will take up

Definition at line 1186 of file audiooutputbase.cpp.

Referenced by AddData(), and CopyWithUpmix().

int AudioOutputBase::audiolen (  )  [inline, protected]

Get the number of bytes in the audiobuffer.

Definition at line 998 of file audiooutputbase.cpp.

Referenced by audiofree(), and audioready().

int AudioOutputBase::audiofree (  )  [protected]

Get the free space in the audiobuffer in bytes.

Definition at line 1009 of file audiooutputbase.cpp.

Referenced by AddData(), CheckFreeSpace(), and GetBufferStatus().

int AudioOutputBase::audioready (  )  [protected]

Get the scaled number of bytes in the audiobuffer, i.e.

the number of samples * the output bytes per sample

This value can differ from that returned by audiolen if samples are being converted to floats and the output sample format is not 32 bits

Definition at line 1024 of file audiooutputbase.cpp.

Referenced by AddData(), Drain(), GetAudioData(), AudioOutputCA::GetAudiotime(), GetAudiotime(), and OutputAudioLoop().

void AudioOutputBase::SetStretchFactorLocked ( float  lstretchfactor  )  [protected]

Set the timestretch factor.

You must hold the audio_buflock to call this safely

Definition at line 316 of file audiooutputbase.cpp.

Referenced by Reconfigure(), and SetStretchFactor().

int AudioOutputBase::GetBaseAudBufTimeCode (  )  const [inline, protected]

Definition at line 158 of file audiooutputbase.h.

Referenced by AudioOutputCA::GetAudiotime().

bool AudioOutputBase::SetupPassthrough ( int  codec,
int  codec_profile,
int &  samplerate_tmp,
int &  channels_tmp 
) [private]

Definition at line 429 of file audiooutputbase.cpp.

Referenced by Reconfigure().

AudioOutputSettings * AudioOutputBase::OutputSettings ( bool  digital = true  )  [private]

Definition at line 476 of file audiooutputbase.cpp.

Referenced by Reconfigure().

int AudioOutputBase::CopyWithUpmix ( char *  buffer,
int  frames,
uint org_waud 
) [private]

Copy frames into the audiobuffer, upmixing en route if necessary.

Returns the number of frames written, which may be less than requested if the upmixer buffered some (or all) of them

Definition at line 1221 of file audiooutputbase.cpp.

Referenced by AddData().

void AudioOutputBase::SetAudiotime ( int  frames,
int64_t  timecode 
) [private]

Set the timecode of the top of the ringbuffer Exclude all other processing elements as they dont vary between AddData calls.

Definition at line 1101 of file audiooutputbase.cpp.

Referenced by AddData().


Member Data Documentation

const uint AudioOutputBase::kAudioSRCInputSize = 16384 [static]

Definition at line 114 of file audiooutputbase.h.

Referenced by AddData(), and Reconfigure().

const uint AudioOutputBase::kAudioRingBufferSize = 3072000u [static]

Audio Buffer Size -- should be divisible by 32,24,16,12,10,8,6,4,2..

Definition at line 117 of file audiooutputbase.h.

Referenced by AddData(), audiofree(), audiolen(), CopyWithUpmix(), GetAudioData(), GetBufferStatus(), and Reset().

int AudioOutputBase::channels [protected]
int AudioOutputBase::codec [protected]

Definition at line 163 of file audiooutputbase.h.

Referenced by Reconfigure(), and ToggleUpmix().

int AudioOutputBase::samplerate [protected]
int AudioOutputBase::effdsp [protected]
QString AudioOutputBase::main_device [protected]
QString AudioOutputBase::passthru_device [protected]

Definition at line 177 of file audiooutputbase.h.

Referenced by Reconfigure().

float AudioOutputBase::stretchfactor [protected]

Definition at line 180 of file audiooutputbase.h.

Referenced by GetAudiotime(), SetAudiotime(), and SetStretchFactorLocked().

Definition at line 181 of file audiooutputbase.h.

Referenced by Reconfigure().

Definition at line 185 of file audiooutputbase.h.

Referenced by AddData(), Pause(), PauseUntilBuffered(), and Reconfigure().

Definition at line 190 of file audiooutputbase.h.

Referenced by CanPassthrough(), InitSettings(), Reconfigure(), and ToggleUpmix().

Definition at line 198 of file audiooutputbase.h.

Referenced by AudioOutputBase(), Reconfigure(), and AudioOutputALSA::SetParameters().

Definition at line 206 of file audiooutputbase.h.

Referenced by GetOutputSettingsCleaned(), and ~AudioOutputBase().

Definition at line 208 of file audiooutputbase.h.

Referenced by GetOutputSettingsCleaned(), and ~AudioOutputBase().

Definition at line 210 of file audiooutputbase.h.

Referenced by AddData(), KillAudio(), and Reconfigure().

SRC_STATE* AudioOutputBase::src_ctx [private]

Definition at line 211 of file audiooutputbase.h.

Referenced by AddData(), CheckFreeSpace(), KillAudio(), and Reconfigure().

Definition at line 212 of file audiooutputbase.h.

Referenced by AddData(), KillAudio(), Reset(), SetAudiotime(), and SetStretchFactorLocked().

Definition at line 213 of file audiooutputbase.h.

Referenced by AddData(), KillAudio(), Reconfigure(), Reset(), and SetAudiotime().

Definition at line 217 of file audiooutputbase.h.

Referenced by AddData(), Reconfigure(), SetTimecode(), Status(), and ToggleUpmix().

Definition at line 218 of file audiooutputbase.h.

Referenced by AddData(), AddFrames(), GetBytesPerFrame(), and Reconfigure().

Definition at line 219 of file audiooutputbase.h.

Referenced by InitSettings(), Reconfigure(), and ToggleUpmix().

Definition at line 221 of file audiooutputbase.h.

Referenced by AddData(), Reconfigure(), and SetStretchFactorLocked().

Definition at line 222 of file audiooutputbase.h.

Referenced by Reconfigure().

Definition at line 223 of file audiooutputbase.h.

Referenced by KillAudio(), and Reconfigure().

int AudioOutputBase::volume [private]
QString AudioOutputBase::volumeControl [private]

Definition at line 225 of file audiooutputbase.h.

Referenced by Reconfigure(), and SetSWVolume().

Definition at line 229 of file audiooutputbase.h.

Referenced by AddData(), Reconfigure(), Reset(), and SetTimecode().

Definition at line 231 of file audiooutputbase.h.

Referenced by StartOutputThread(), and StopOutputThread().

Writes to the audiobuffer, reconfigures and audiobuffer resets can only take place while holding this lock.

Definition at line 237 of file audiooutputbase.h.

Referenced by AddData(), KillAudio(), Reconfigure(), Reset(), and SetStretchFactor().

QMutex AudioOutputBase::avsync_lock [private]

must hold avsync_lock to read or write 'audiotime' and 'audiotime_updated'

Definition at line 243 of file audiooutputbase.h.

Referenced by GetAudiotime(), Reconfigure(), and Reset().

timecode of audio leaving the soundcard (same units as timecodes)

Definition at line 248 of file audiooutputbase.h.

Referenced by GetAudiotime(), OutputAudioLoop(), Reconfigure(), Reset(), SetAudiotime(), and SetTimecode().

volatile uint AudioOutputBase::raud [private]

Audio circular buffer.

Definition at line 253 of file audiooutputbase.h.

Referenced by audiolen(), GetAudioData(), OutputAudioLoop(), Reconfigure(), Reset(), and SetStretchFactorLocked().

volatile uint AudioOutputBase::waud [private]

Definition at line 253 of file audiooutputbase.h.

Referenced by AddData(), audiolen(), Reconfigure(), Reset(), and SetStretchFactorLocked().

timecode of audio most recently placed into buffer

Definition at line 257 of file audiooutputbase.h.

Referenced by GetAudioBufferedTime(), AudioOutputCA::GetAudiotime(), GetAudiotime(), GetBaseAudBufTimeCode(), Reconfigure(), Reset(), SetAudiotime(), and SetTimecode().

Definition at line 258 of file audiooutputbase.h.

Referenced by OutputAudioLoop(), Reconfigure(), Reset(), and SetStretchFactorLocked().

Reimplemented in AudioOutputALSA.

Definition at line 260 of file audiooutputbase.h.

Referenced by KillAudio().

Definition at line 262 of file audiooutputbase.h.

Referenced by Reconfigure(), Reset(), and Status().

Definition at line 263 of file audiooutputbase.h.

Referenced by Reconfigure(), SetSourceBitrate(), and Status().

float* AudioOutputBase::src_in [private]

Definition at line 265 of file audiooutputbase.h.

Referenced by AddData(), AudioOutputBase(), and Reconfigure().

SRC_DATA AudioOutputBase::src_data [private]

Definition at line 268 of file audiooutputbase.h.

Referenced by AddData(), AudioOutputBase(), and Reconfigure().

Definition at line 269 of file audiooutputbase.h.

Referenced by ~AudioOutputBase().

Definition at line 270 of file audiooutputbase.h.

Referenced by AudioOutputBase().

Definition at line 271 of file audiooutputbase.h.

Referenced by ~AudioOutputBase().

float* AudioOutputBase::src_out [private]

Definition at line 272 of file audiooutputbase.h.

Referenced by AddData(), Reconfigure(), and ~AudioOutputBase().

Definition at line 273 of file audiooutputbase.h.

Referenced by Reconfigure(), and ~AudioOutputBase().

Definition at line 274 of file audiooutputbase.h.

Referenced by ~AudioOutputBase().

main audio buffer

Definition at line 278 of file audiooutputbase.h.

Referenced by AudioOutputBase(), and Reset().

Definition at line 279 of file audiooutputbase.h.

Referenced by ~AudioOutputBase().

Definition at line 281 of file audiooutputbase.h.

Referenced by AddData(), and LengthLastData().

Definition at line 284 of file audiooutputbase.h.

Referenced by AddData(), and SetupPassthrough().

Definition at line 287 of file audiooutputbase.h.

Referenced by Reconfigure(), and SetStretchFactorLocked().

Definition at line 288 of file audiooutputbase.h.

Referenced by SetStretchFactorLocked().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Mon May 28 06:41:52 2012 for MythTV by  doxygen 1.6.3