00001 #ifndef AUDIOOUTPUTWIN 00002 #define AUDIOOUTPUTWIN 00003 00004 // Qt headers 00005 #include <qstring.h> 00006 00007 // MythTV headers 00008 #include "audiooutputbase.h" 00009 00010 class AudioOutputWinPrivate; 00011 00012 class AudioOutputWin : public AudioOutputBase 00013 { 00014 friend class AudioOutputWinPrivate; 00015 public: 00016 AudioOutputWin(QString laudio_main_device, 00017 QString laudio_passthru_device, 00018 int laudio_bits, 00019 int laudio_channels, int laudio_samplerate, 00020 AudioOutputSource lsource, 00021 bool lset_initial_vol, bool laudio_passthru); 00022 virtual ~AudioOutputWin(); 00023 00024 // Volume control 00025 virtual int GetVolumeChannel(int channel); 00026 virtual void SetVolumeChannel(int channel, int volume); 00027 00028 protected: 00029 virtual bool OpenDevice(void); 00030 virtual void CloseDevice(void); 00031 virtual void WriteAudio(unsigned char *aubuf, int size); 00032 virtual inline int getSpaceOnSoundcard(void); 00033 virtual inline int getBufferedOnSoundcard(void); 00034 00035 protected: 00036 AudioOutputWinPrivate *m_priv; 00037 long m_nPkts; 00038 int m_CurrentPkt; 00039 unsigned char **m_OutPkts; 00040 00041 static const uint kPacketCnt; 00042 }; 00043 00044 #endif // AUDIOOUTPUTWIN
1.5.5