AudioOutputSettings Class Reference

#include <audiooutputsettings.h>

List of all members.

Public Member Functions

 AudioOutputSettings (bool invalid=false)
 ~AudioOutputSettings ()
AudioOutputSettingsoperator= (const AudioOutputSettings &)
AudioOutputSettingsGetCleaned (bool newcopy=false)
 Returns capabilities supported by the audio device amended to take into account the digital audio options (AC3 and DTS) Warning: do not call it twice in a row, will lead to invalid settings.
AudioOutputSettingsGetUsers (bool newcopy=false)
 Returns capabilities supported by the audio device amended to take into account the digital audio options (AC3 and DTS) as well as the user settings If newcopy = false, assume GetCleaned was called before hand.
int GetNextRate ()
void AddSupportedRate (int rate)
bool IsSupportedRate (int rate)
int NearestSupportedRate (int rate)
int BestSupportedRate ()
AudioFormat GetNextFormat ()
void AddSupportedFormat (AudioFormat format)
bool IsSupportedFormat (AudioFormat format)
AudioFormat BestSupportedFormat ()
void AddSupportedChannels (int channels)
bool IsSupportedChannels (int channels)
int BestSupportedChannels ()
void setPassthrough (int val)
int canPassthrough ()
bool canFeature (DigitalFeature arg)
 return DigitalFeature mask.
bool canFeature (unsigned int arg)
bool canAC3 ()
 return true if device can or may support AC3 (deprecated, see canFeature())
bool canDTS ()
 return true if device can or may support DTS (deprecated, see canFeature())
bool canLPCM ()
 return true if device supports multichannels PCM (deprecated, see canFeature())
bool IsInvalid ()
 return true if class instance is marked invalid.
void setFeature (DigitalFeature arg)
 set the provided digital feature possible values are:

  • FEATURE_AC3
  • FEATURE_DTS
  • FEATURE_LPCM
  • FEATURE_EAC3
  • FEATURE_TRUEHD
  • FEATURE_DTSHD

void setFeature (unsigned int arg)
void setFeature (bool val, DigitalFeature arg)
 clear or set digital feature internal mask
void setFeature (bool val, int arg)
void SetBestSupportedChannels (int channels)
 Force set the greatest number of channels supported by the audio device.
int GetMaxHDRate ()
 return the highest iec958 rate supported.
QString FeaturesToString (DigitalFeature arg)
 Display in human readable form the digital features supported by the output device.
QString FeaturesToString (void)
bool hasELD ()
 get the ELD flag
bool hasValidELD ()
void setELD (QByteArray *ba)
 set ELD data
ELDgetELD (void)
 retrieve ELD data
int BestSupportedChannelsELD ()
 Reports best supported channel number, restricted to ELD range.
int BestSupportedPCMChannelsELD ()
 Reports best supported PCM channel number, restricted to ELD.

Static Public Member Functions

static int FormatToBits (AudioFormat format)
static const char * FormatToString (AudioFormat format)
static int SampleSize (AudioFormat format)
static QString GetPassthroughParams (int codec, int codec_profile, int &samplerate, int &channels, bool canDTSHDMA)
 Setup samplerate and number of channels for passthrough.

Private Member Functions

void SortSupportedChannels ()

Private Attributes

int m_passthrough
 passthrough status -1 : no 0: unknown 1: yes
unsigned int m_features
bool m_invalid
bool m_has_eld
 will be set to true if we were able to retrieve the device ELD (EDID like Data).
ELD m_eld
vector< int > m_sr
vector< int > m_rates
vector< int > m_channels
vector< AudioFormatm_sf
vector< AudioFormatm_formats
vector< int >::iterator m_sr_it
vector< AudioFormat >::iterator m_sf_it

Detailed Description

Definition at line 51 of file audiooutputsettings.h.


Constructor & Destructor Documentation

AudioOutputSettings::AudioOutputSettings ( bool  invalid = false  ) 

Definition at line 24 of file audiooutputsettings.cpp.

AudioOutputSettings::~AudioOutputSettings (  ) 

Definition at line 36 of file audiooutputsettings.cpp.


Member Function Documentation

AudioOutputSettings & AudioOutputSettings::operator= ( const AudioOutputSettings rhs  ) 

Definition at line 45 of file audiooutputsettings.cpp.

AudioOutputSettings * AudioOutputSettings::GetCleaned ( bool  newcopy = false  ) 

Returns capabilities supported by the audio device amended to take into account the digital audio options (AC3 and DTS) Warning: do not call it twice in a row, will lead to invalid settings.

Definition at line 277 of file audiooutputsettings.cpp.

Referenced by AudioOutputBase::GetOutputSettingsCleaned(), and GetUsers().

AudioOutputSettings * AudioOutputSettings::GetUsers ( bool  newcopy = false  ) 

Returns capabilities supported by the audio device amended to take into account the digital audio options (AC3 and DTS) as well as the user settings If newcopy = false, assume GetCleaned was called before hand.

Definition at line 336 of file audiooutputsettings.cpp.

Referenced by AudioOutputBase::GetOutputSettingsUsers().

int AudioOutputSettings::GetNextRate (  ) 
void AudioOutputSettings::AddSupportedRate ( int  rate  ) 
bool AudioOutputSettings::IsSupportedRate ( int  rate  ) 

Definition at line 83 of file audiooutputsettings.cpp.

Referenced by AudioOutputBase::CanPassthrough(), and GetCleaned().

int AudioOutputSettings::NearestSupportedRate ( int  rate  ) 

Definition at line 104 of file audiooutputsettings.cpp.

Referenced by AudioOutputBase::Reconfigure().

int AudioOutputSettings::BestSupportedRate (  ) 

Definition at line 97 of file audiooutputsettings.cpp.

Referenced by AudioTestThread::AudioTestThread().

AudioFormat AudioOutputSettings::GetNextFormat (  ) 
void AudioOutputSettings::AddSupportedFormat ( AudioFormat  format  ) 
bool AudioOutputSettings::IsSupportedFormat ( AudioFormat  format  ) 

Definition at line 139 of file audiooutputsettings.cpp.

Referenced by AudioOutputBase::CanPassthrough(), and GetCleaned().

AudioFormat AudioOutputSettings::BestSupportedFormat (  ) 
int AudioOutputSettings::FormatToBits ( AudioFormat  format  )  [static]
const char * AudioOutputSettings::FormatToString ( AudioFormat  format  )  [static]

Definition at line 175 of file audiooutputsettings.cpp.

Referenced by AddSupportedFormat(), and AudioOutputBase::Reconfigure().

int AudioOutputSettings::SampleSize ( AudioFormat  format  )  [static]
void AudioOutputSettings::AddSupportedChannels ( int  channels  ) 
bool AudioOutputSettings::IsSupportedChannels ( int  channels  ) 
int AudioOutputSettings::BestSupportedChannels (  ) 
void AudioOutputSettings::setPassthrough ( int  val  )  [inline]
int AudioOutputSettings::canPassthrough (  )  [inline]
bool AudioOutputSettings::canFeature ( DigitalFeature  arg  )  [inline]

return DigitalFeature mask.

possible values are:

  • FEATURE_AC3
  • FEATURE_DTS
  • FEATURE_LPCM
  • FEATURE_EAC3
  • FEATURE_TRUEHD
  • FEATURE_DTSHD

Definition at line 88 of file audiooutputsettings.h.

Referenced by AudioConfigSettings::AudioAdvanced(), AudioOutputBase::CanPassthrough(), GetMaxHDRate(), GetUsers(), AudioOutputBase::Reconfigure(), AudioOutputBase::SetupPassthrough(), TestDigitalFeature(), AudioSetupWizard::UpdateCapabilities(), and AudioConfigSettings::UpdateCapabilities().

bool AudioOutputSettings::canFeature ( unsigned int  arg  )  [inline]

Definition at line 90 of file audiooutputsettings.h.

bool AudioOutputSettings::canAC3 (  )  [inline]

return true if device can or may support AC3 (deprecated, see canFeature())

Definition at line 97 of file audiooutputsettings.h.

Referenced by AudioOutput::GetAudioDeviceConfig().

bool AudioOutputSettings::canDTS (  )  [inline]

return true if device can or may support DTS (deprecated, see canFeature())

Definition at line 102 of file audiooutputsettings.h.

Referenced by AudioOutput::GetAudioDeviceConfig().

bool AudioOutputSettings::canLPCM (  )  [inline]

return true if device supports multichannels PCM (deprecated, see canFeature())

Definition at line 107 of file audiooutputsettings.h.

Referenced by AudioOutput::GetAudioDeviceConfig().

bool AudioOutputSettings::IsInvalid (  )  [inline]

return true if class instance is marked invalid.

if true, you can not assume any of the other method returned values are valid

Definition at line 113 of file audiooutputsettings.h.

Referenced by AudioConfigSettings::AudioConfigSettings(), AudioConfigSettings::AudioRescan(), AudioConfigSettings::CheckPassthrough(), AudioOutput::GetAudioDeviceConfig(), and AudioSetupWizard::Init().

void AudioOutputSettings::setFeature ( DigitalFeature  arg  )  [inline]

set the provided digital feature possible values are:

  • FEATURE_AC3
  • FEATURE_DTS
  • FEATURE_LPCM
  • FEATURE_EAC3
  • FEATURE_TRUEHD
  • FEATURE_DTSHD

Definition at line 125 of file audiooutputsettings.h.

Referenced by GetCleaned(), GetUsers(), setFeature(), AudioSetupWizard::UpdateCapabilities(), and AudioConfigSettings::UpdateCapabilities().

void AudioOutputSettings::setFeature ( unsigned int  arg  )  [inline]

Definition at line 126 of file audiooutputsettings.h.

void AudioOutputSettings::setFeature ( bool  val,
DigitalFeature  arg 
)

clear or set digital feature internal mask

Definition at line 266 of file audiooutputsettings.cpp.

void AudioOutputSettings::setFeature ( bool  val,
int  arg 
)

Definition at line 258 of file audiooutputsettings.cpp.

void AudioOutputSettings::SetBestSupportedChannels ( int  channels  ) 

Force set the greatest number of channels supported by the audio device.

Definition at line 239 of file audiooutputsettings.cpp.

Referenced by GetUsers(), AudioSetupWizard::UpdateCapabilities(), and AudioConfigSettings::UpdateCapabilities().

int AudioOutputSettings::GetMaxHDRate (  ) 

return the highest iec958 rate supported.

return 0 if no HD rate are supported

Definition at line 393 of file audiooutputsettings.cpp.

Referenced by AudioPlayer::GetMaxHDRate(), and AudioOutputBase::SetupPassthrough().

QString AudioOutputSettings::FeaturesToString ( DigitalFeature  arg  ) 

Display in human readable form the digital features supported by the output device.

Definition at line 409 of file audiooutputsettings.cpp.

Referenced by AudioOutputBase::Reconfigure().

QString AudioOutputSettings::FeaturesToString ( void   )  [inline]

Definition at line 151 of file audiooutputsettings.h.

Referenced by FeaturesToString().

QString AudioOutputSettings::GetPassthroughParams ( int  codec,
int  codec_profile,
int &  samplerate,
int &  channels,
bool  canDTSHDMA 
) [static]

Setup samplerate and number of channels for passthrough.

Definition at line 441 of file audiooutputsettings.cpp.

Referenced by AudioOutputBase::SetupPassthrough().

bool AudioOutputSettings::hasELD (  ) 

get the ELD flag

Definition at line 521 of file audiooutputsettings.cpp.

Referenced by AudioOutput::GetAudioDeviceConfig().

bool AudioOutputSettings::hasValidELD (  ) 
void AudioOutputSettings::setELD ( QByteArray *  ba  ) 

set ELD data

Definition at line 526 of file audiooutputsettings.cpp.

Referenced by AudioOutputALSA::GetOutputSettings().

ELD& AudioOutputSettings::getELD ( void   )  [inline]

retrieve ELD data

Definition at line 175 of file audiooutputsettings.h.

Referenced by AudioOutput::GetAudioDeviceConfig().

int AudioOutputSettings::BestSupportedChannelsELD (  ) 

Reports best supported channel number, restricted to ELD range.

Definition at line 533 of file audiooutputsettings.cpp.

Referenced by AudioOutput::GetAudioDeviceConfig().

int AudioOutputSettings::BestSupportedPCMChannelsELD (  ) 

Reports best supported PCM channel number, restricted to ELD.

Definition at line 542 of file audiooutputsettings.cpp.

Referenced by GetCleaned().

void AudioOutputSettings::SortSupportedChannels (  )  [private]

Definition at line 232 of file audiooutputsettings.cpp.


Member Data Documentation

passthrough status -1 : no 0: unknown 1: yes

Definition at line 193 of file audiooutputsettings.h.

Referenced by GetCleaned(), and operator=().

unsigned int AudioOutputSettings::m_features [private]

Definition at line 195 of file audiooutputsettings.h.

Referenced by operator=(), and setFeature().

Definition at line 197 of file audiooutputsettings.h.

Referenced by GetCleaned(), GetUsers(), and operator=().

will be set to true if we were able to retrieve the device ELD (EDID like Data).

ELD contains information about the audio processing capabilities of the device connected to the audio card ELD is usually retrieved from EDID CEA-861-E extension.

Definition at line 204 of file audiooutputsettings.h.

Referenced by hasELD(), hasValidELD(), operator=(), and setELD().

vector<int> AudioOutputSettings::m_sr [private]
vector<int> AudioOutputSettings::m_rates [private]
vector<int> AudioOutputSettings::m_channels [private]
vector<int>::iterator AudioOutputSettings::m_sr_it [private]

Definition at line 209 of file audiooutputsettings.h.

Referenced by AudioOutputSettings(), GetNextRate(), and operator=().

vector<AudioFormat>::iterator AudioOutputSettings::m_sf_it [private]

Definition at line 210 of file audiooutputsettings.h.

Referenced by AudioOutputSettings(), GetNextFormat(), and operator=().


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