Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

PCMAudioPlayer.h

Go to the documentation of this file.
00001 // PCMAudioPlayer.h - interface of class PCMAudioPlayer
00002 //
00003 // Copyright (c) 2003, Roku, LLC.
00004 //
00006 
00007 #ifndef _ROKU_INCLUDE_DESCHUTES_LIBRARIES_HDMACHINEX225_PCMAUDIOPLAYER_H
00008 #define _ROKU_INCLUDE_DESCHUTES_LIBRARIES_HDMACHINEX225_PCMAUDIOPLAYER_H
00009 
00010 #include <cascade/av/CascadeAudioPlaybackDevice.h>
00011 
00013 // class PCMAudioPlayer
00014 class PCMAudioPlayer : public CascadeAudioPlaybackDevice
00015 {
00016 public: 
00017     PCMAudioPlayer();
00018     virtual ~PCMAudioPlayer();
00019 
00020 public:
00021     bool IsOpen();
00022         // returns true if the PCMAudioPlayer is open
00023 
00024 public:
00025     virtual bool GetBufferRequirements(u32 & nMinNumBuffersToSet, u32 & nMaxNumBuffersToSet, u32 & nMinBufferSizeToSet, u32 & nMaxBufferSizeToSet, u32 & nBufferSizeMultipleToSet);
00026         virtual bool GetDefaultBufferRequirements(u32 & nNumBuffersToSet, u32 & nBufferSizeInBytesToSet);
00027     virtual bool Open(u32 nNumBuffers, u32 nBufferSizeInBytes, void ** ppBufferLocationsToSet);
00028         virtual bool Close();
00029         virtual bool QueueBuffer(s16 * pData, u32 nSamples);
00030         virtual u32  WaitForBuffer();
00031     virtual bool GetNumBuffersAvailable(u32 & nNumBuffersAvailableToSet);
00032         virtual bool Pause();
00033         virtual bool Play();
00034         virtual bool Flush();
00035         virtual bool SetVolume(u16 nVolume);
00036         virtual bool SetSampleRate(u32 nSampleRate);
00037     virtual u32  GetSampleRate();
00038     virtual bool IsSupportedSampleRate(u32 nSampleRate);
00039     virtual bool SetOutputFlags(bool bAnalog, bool bSPDIF);
00040     virtual void GetOutputFlags(bool & bAnalogToSet, bool & bSPDIFToSet);
00041 
00042 private:
00043     void * m_pPlayerInternal;
00044 };
00045 
00046 #endif // #ifndef _ROKU_INCLUDE_DESCHUTES_LIBRARIES_HDMACHINEX225_PCMAUDIOPLAYER_H
00047 
00049 //  LOG
00051 //  08-Aug-03   dwoodward   created
00052 //  09-Dec-03   dwoodward   added GetNumBuffersAvailable()
00053 //  02-Aug-04   dwoodward   added IsSupportedSampleRate()
00054 //  29-Sep-04   dwoodward   added SetOutputFlags() and GetOutputFlags()
00055 //  25-Feb-05   dwoodward   updated for new GetBufferRequirements interface, added GetDefaultBufferRequirements
00056 //  03-Mar-05   dwoodward   added GetSampleRate()

Generated on Sun Jul 24 14:27:17 2005 for Cascade Library by  doxygen 1.4.1