MythTV  0.25-pre
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
AudioOutput Class Reference

#include <audiooutput.h>

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

List of all members.

Classes

class  AudioDeviceConfig

Public Types

typedef QVector
< AudioDeviceConfig
ADCVect

Public Member Functions

 AudioOutput ()
virtual ~AudioOutput ()
virtual void Reconfigure (const AudioSettings &settings)=0
virtual void SetStretchFactor (float factor)
virtual float GetStretchFactor (void) const
virtual int GetChannels (void) const
virtual AudioFormat GetFormat (void) const
virtual int GetBytesPerFrame (void) const
virtual AudioOutputSettingsGetOutputSettingsCleaned (bool digital=true)
virtual AudioOutputSettingsGetOutputSettingsUsers (bool digital=true)
virtual bool CanPassthrough (int samplerate, int channels, int codec, int profile) const
virtual bool CanDownmix (void) const
virtual void SetEffDsp (int dsprate)=0
virtual void Reset (void)=0
virtual bool AddFrames (void *buffer, int frames, int64_t timecode)=0
virtual bool AddData (void *buffer, int len, int64_t timecode, int frames)=0
 AddData: Add data to the audiobuffer for playback.
virtual bool NeedDecodingBeforePassthrough (void) 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)=0
virtual bool IsPaused (void) const =0
virtual void Pause (bool paused)=0
virtual void PauseUntilBuffered (void)=0
virtual void Drain (void)=0
virtual int64_t GetAudiotime (void)=0
virtual int64_t GetAudioBufferedTime (void)
 report amount of audio buffered in milliseconds.
virtual void SetSourceBitrate (int)
QString GetError (void) const
QString GetWarning (void) const
virtual void GetBufferStatus (uint &fill, uint &total)
virtual void bufferOutputData (bool y)=0
virtual int readOutputData (unsigned char *read_buffer, int max_length)=0
virtual bool IsUpmixing (void)=0
virtual bool ToggleUpmix (void)=0
virtual bool CanUpmix (void)=0
bool PulseStatus (void)

Static Public Member Functions

static void Cleanup (void)
static ADCVectGetOutputList (void)
static AudioDeviceConfigGetAudioDeviceConfig (QString &name, QString &desc, bool willsuspendpa=false)
static AudioOutputOpenAudio (const QString &audiodevice, const QString &passthrudevice, AudioFormat format, int channels, int codec, int samplerate, AudioOutputSource source, bool set_initial_vol, bool passthru, int upmixer_startup=0, AudioOutputSettings *custom=NULL)
static AudioOutputOpenAudio (AudioSettings &settings, bool willsuspendpa=true)
static AudioOutputOpenAudio (const QString &main_device, const QString &passthru_device=QString::null, bool willsuspendpa=true)

Protected Member Functions

void Error (const QString &msg)
void SilentError (const QString &msg)
void Warn (const QString &msg)
void ClearError (void)
void ClearWarning (void)

Protected Attributes

QString lastError
QString lastWarn
bool pulsewassuspended

Detailed Description

Definition at line 14 of file audiooutput.h.


Member Typedef Documentation

Definition at line 32 of file audiooutput.h.


Constructor & Destructor Documentation

Definition at line 52 of file audiooutput.h.

Definition at line 206 of file audiooutput.cpp.


Member Function Documentation

void AudioOutput::Cleanup ( void  ) [static]

Definition at line 40 of file audiooutput.cpp.

Definition at line 346 of file audiooutput.cpp.

Referenced by AudioConfigSettings::AudioRescan(), and AudioSetupWizard::Load().

AudioOutput::AudioDeviceConfig * AudioOutput::GetAudioDeviceConfig ( QString &  name,
QString &  desc,
bool  willsuspendpa = false 
) [static]
AudioOutput * AudioOutput::OpenAudio ( const QString &  audiodevice,
const QString &  passthrudevice,
AudioFormat  format,
int  channels,
int  codec,
int  samplerate,
AudioOutputSource  source,
bool  set_initial_vol,
bool  passthru,
int  upmixer_startup = 0,
AudioOutputSettings custom = NULL 
) [static]
AudioOutput * AudioOutput::OpenAudio ( AudioSettings settings,
bool  willsuspendpa = true 
) [static]

Definition at line 69 of file audiooutput.cpp.

AudioOutput * AudioOutput::OpenAudio ( const QString &  main_device,
const QString &  passthru_device = QString::null,
bool  willsuspendpa = true 
) [static]

Definition at line 60 of file audiooutput.cpp.

virtual void AudioOutput::Reconfigure ( const AudioSettings settings) [pure virtual]
void AudioOutput::SetStretchFactor ( float  factor) [virtual]

Reimplemented in AudioOutputBase.

Definition at line 214 of file audiooutput.cpp.

Referenced by MusicPlayer::setSpeed(), and AudioPlayer::SetStretchFactor().

virtual float AudioOutput::GetStretchFactor ( void  ) const [inline, virtual]

Reimplemented in AudioOutputBase.

Definition at line 62 of file audiooutput.h.

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

Reimplemented in AudioOutputBase.

Definition at line 63 of file audiooutput.h.

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

Reimplemented in AudioOutputBase.

Definition at line 64 of file audiooutput.h.

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

Reimplemented in AudioOutputBase.

Definition at line 65 of file audiooutput.h.

Referenced by AudioPlayer::AddAudioData().

Reimplemented in AudioOutputBase.

Definition at line 218 of file audiooutput.cpp.

Referenced by GetAudioDeviceConfig().

Reimplemented in AudioOutputBase.

Definition at line 223 of file audiooutput.cpp.

Referenced by AudioPlayer::GetMaxChannels(), AudioPlayer::GetMaxHDRate(), and TestDigitalFeature().

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

Reimplemented in AudioReencodeBuffer, and AudioOutputBase.

Definition at line 228 of file audiooutput.cpp.

Referenced by AudioPlayer::CanPassthrough().

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

Reimplemented in AudioOutputBase.

Definition at line 71 of file audiooutput.h.

Referenced by AudioPlayer::CanDownmix().

virtual void AudioOutput::SetEffDsp ( int  dsprate) [pure virtual]

Implemented in AudioReencodeBuffer, and AudioOutputBase.

Referenced by AudioPlayer::SetEffDsp().

virtual void AudioOutput::Reset ( void  ) [pure virtual]
virtual bool AudioOutput::AddFrames ( void buffer,
int  frames,
int64_t  timecode 
) [pure virtual]

Implemented in AudioReencodeBuffer, and AudioOutputBase.

Referenced by AudioTestThread::run().

virtual bool AudioOutput::AddData ( void buffer,
int  len,
int64_t  timecode,
int  frames 
) [pure virtual]

AddData: Add data to the audiobuffer for playback.

in: buffer : pointer to audio data len : length of audio data added timecode: timecode of the first sample added frames : number of frames added. out: return false if there wasn't enough space in audio buffer to process all the data

Implemented in AudioReencodeBuffer, and AudioOutputBase.

Referenced by AudioPlayer::AddAudioData(), and MythRAOPConnection::ProcessAudio().

virtual bool AudioOutput::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 in AudioOutputBase.

Definition at line 100 of file audiooutput.h.

Referenced by AudioPlayer::NeedDecodingBeforePassthrough().

virtual int64_t AudioOutput::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 in AudioOutputBase.

Definition at line 107 of file audiooutput.h.

Referenced by AudioPlayer::LengthLastData(), and AudioTestThread::run().

virtual void AudioOutput::SetTimecode ( int64_t  timecode) [pure virtual]
virtual bool AudioOutput::IsPaused ( void  ) const [pure virtual]
virtual void AudioOutput::Pause ( bool  paused) [pure virtual]
virtual void AudioOutput::PauseUntilBuffered ( void  ) [pure virtual]
virtual void AudioOutput::Drain ( void  ) [pure virtual]
virtual int64_t AudioOutput::GetAudiotime ( void  ) [pure virtual]
virtual int64_t AudioOutput::GetAudioBufferedTime ( void  ) [inline, virtual]

report amount of audio buffered in milliseconds.

Reimplemented in AudioOutputBase.

Definition at line 120 of file audiooutput.h.

Referenced by MythRAOPConnection::ProcessAudio().

virtual void AudioOutput::SetSourceBitrate ( int  ) [inline, virtual]

Reimplemented in AudioOutputBase.

Definition at line 122 of file audiooutput.h.

Referenced by avfDecoder::initialize(), and CdDecoder::initialize().

QString AudioOutput::GetError ( void  ) const [inline]
QString AudioOutput::GetWarning ( void  ) const [inline]

Definition at line 125 of file audiooutput.h.

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

Reimplemented in AudioOutputBase.

Definition at line 127 of file audiooutput.h.

Referenced by AudioPlayer::GetBufferStatus(), avfDecoder::run(), and CdDecoder::run().

virtual void AudioOutput::bufferOutputData ( bool  y) [pure virtual]

Implemented in AudioReencodeBuffer, and AudioOutputBase.

virtual int AudioOutput::readOutputData ( unsigned char *  read_buffer,
int  max_length 
) [pure virtual]
virtual bool AudioOutput::IsUpmixing ( void  ) [pure virtual]

Implemented in AudioReencodeBuffer, and AudioOutputBase.

Referenced by AudioPlayer::IsUpmixing().

virtual bool AudioOutput::ToggleUpmix ( void  ) [pure virtual]
virtual bool AudioOutput::CanUpmix ( void  ) [pure virtual]

Implemented in AudioReencodeBuffer, and AudioOutputBase.

Referenced by AudioPlayer::CanUpmix().

Definition at line 138 of file audiooutput.h.

void AudioOutput::Error ( const QString &  msg) [protected]
void AudioOutput::SilentError ( const QString &  msg) [protected]

Definition at line 245 of file audiooutput.cpp.

Referenced by AudioOutputBase::Reconfigure().

void AudioOutput::Warn ( const QString &  msg) [protected]

Definition at line 251 of file audiooutput.cpp.

Referenced by AudioOutputALSA::GetOutputSettings().

void AudioOutput::ClearError ( void  ) [protected]

Definition at line 258 of file audiooutput.cpp.

Referenced by AudioOutputBase::Reconfigure().

void AudioOutput::ClearWarning ( void  ) [protected]

Definition at line 263 of file audiooutput.cpp.


Member Data Documentation

QString AudioOutput::lastError [protected]

Definition at line 147 of file audiooutput.h.

QString AudioOutput::lastWarn [protected]

Definition at line 148 of file audiooutput.h.

Definition at line 149 of file audiooutput.h.

Referenced by OpenAudio().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends