PCMAudioStream.hxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __PCMAudioStream__
00023 #define __PCMAudioStream__
00024
00025 #if USE_SNDFILE != 1
00026 #error USE_SNDFILE was not set to 1 in your settings.cfg file, but you are including files that require this. Please fix your settings.cfg
00027 #endif
00028
00029 #include "AudioCodecs_Stream.hxx"
00030 #include <sndfile.h>
00031 #include <string>
00032
00033 namespace CLAM
00034 {
00035
00036 namespace AudioCodecs
00037 {
00038
00039 class PCMAudioStream : public Stream
00040 {
00041 public:
00042 PCMAudioStream( const AudioFile& file );
00043 ~PCMAudioStream();
00044
00045 void PrepareReading();
00046 void PrepareWriting();
00047 void Dispose();
00048 void SeekTo(long unsigned framePosition);
00049
00050 protected:
00051 void DiskToMemoryTransfer();
00052 void MemoryToDiskTransfer();
00053
00054 private:
00055 SNDFILE* mFileHandle;
00056 SF_INFO mNativeFileParams;
00057 std::string mName;
00058 };
00059
00060 }
00061
00062 }
00063 #endif // PCMAudioStream.hxx
00064