00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _AUDIO_SETTINGS_H_
00010 #define _AUDIO_SETTINGS_H_
00011
00012 #include <QString>
00013
00014 #include "mythexp.h"
00015 #include "audiooutputsettings.h"
00016
00017 typedef enum {
00018 AUDIOOUTPUT_UNKNOWN,
00019 AUDIOOUTPUT_VIDEO,
00020 AUDIOOUTPUT_MUSIC,
00021 AUDIOOUTPUT_TELEPHONY,
00022 } AudioOutputSource;
00023
00024 class MPUBLIC AudioSettings
00025 {
00026 public:
00027 AudioSettings();
00028 AudioSettings(const AudioSettings &other);
00029 AudioSettings(
00030 const QString &main_device,
00031 const QString &passthru_device,
00032 AudioFormat format,
00033 int channels,
00034 int codec,
00035 int samplerate,
00036 AudioOutputSource source,
00037 bool set_initial_vol,
00038 bool use_passthru,
00039 int upmixer_startup = 0,
00040 AudioOutputSettings *custom = NULL);
00041
00042 AudioSettings(AudioFormat format,
00043 int channels,
00044 int codec,
00045 int samplerate,
00046 bool use_passthru,
00047 int upmixer_startup = 0,
00048 int codec_profile = 0);
00049
00050 AudioSettings(const QString &main_device,
00051 const QString &passthru_device = QString::null);
00052
00053 ~AudioSettings();
00054 void FixPassThrough(void);
00055 void TrimDeviceType(void);
00056
00057 QString GetMainDevice(void) const;
00058 QString GetPassthruDevice(void) const;
00059
00060 public:
00061 QString main_device;
00062 QString passthru_device;
00063 AudioFormat format;
00064 int channels;
00065 int codec;
00066 int codec_profile;
00067 int samplerate;
00068 bool set_initial_vol;
00069 bool use_passthru;
00070 AudioOutputSource source;
00071 int upmixer;
00076 bool init;
00083 AudioOutputSettings *custom;
00084 };
00085
00086 #endif // _AUDIO_SETTINGS_H_