diff options
Diffstat (limited to 'orkaudio/audiofile/PcmFile.cpp')
-rw-r--r-- | orkaudio/audiofile/PcmFile.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/orkaudio/audiofile/PcmFile.cpp b/orkaudio/audiofile/PcmFile.cpp index 93f4743..0acfb3f 100644 --- a/orkaudio/audiofile/PcmFile.cpp +++ b/orkaudio/audiofile/PcmFile.cpp @@ -18,6 +18,7 @@ PcmFile::PcmFile() m_stream = NULL; m_mode = READ; m_numChunksWritten = 0; + m_sampleRate = 0; } PcmFile::~PcmFile() @@ -61,7 +62,7 @@ int PcmFile::ReadChunkMono(AudioChunkRef& chunkRef) chunkRef.reset(new AudioChunk()); short temp[PCM_FILE_DEFAULT_CHUNK_NUM_SAMPLES]; numRead = ACE_OS::fread(temp, sizeof(short), PCM_FILE_DEFAULT_CHUNK_NUM_SAMPLES, m_stream); - chunkRef->SetBuffer(temp, sizeof(short)*numRead, AudioChunk::PcmAudio); + chunkRef->SetBuffer(temp, sizeof(short)*numRead, AudioChunk::PcmAudio, 0, 0, m_sampleRate); } else { @@ -73,6 +74,11 @@ int PcmFile::ReadChunkMono(AudioChunkRef& chunkRef) void PcmFile::Open(CStdString& filename, fileOpenModeEnum mode, bool stereo, int sampleRate) { + if(m_sampleRate == 0) + { + m_sampleRate = sampleRate; + } + if(!m_filename.Equals(filename)) { m_filename = filename + ".pcm"; |