diff options
author | Henri Herscher <henri@oreka.org> | 2005-12-06 17:27:50 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2005-12-06 17:27:50 +0000 |
commit | 57834e7e773ec0719b01ada6552674caa81adc61 (patch) | |
tree | 28a99e0122bb08dbdadd305ee182d0d7cb5b4fe2 /orkaudio/audiofile/LibSndFileFile.cpp | |
parent | df29199359505bcd1dfe84d4b06224ebcf4f3b8d (diff) |
Sample rate can now be different than 8KHz
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@94 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiofile/LibSndFileFile.cpp')
-rw-r--r-- | orkaudio/audiofile/LibSndFileFile.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/orkaudio/audiofile/LibSndFileFile.cpp b/orkaudio/audiofile/LibSndFileFile.cpp index cc5bf82..fbbf3cb 100644 --- a/orkaudio/audiofile/LibSndFileFile.cpp +++ b/orkaudio/audiofile/LibSndFileFile.cpp @@ -27,6 +27,7 @@ LibSndFileFile::LibSndFileFile(int fileFormat) m_pFile = NULL; m_numChunksWritten = 0; m_mode = READ; + m_sampleRate = 0; } LibSndFileFile::~LibSndFileFile() @@ -42,7 +43,11 @@ void LibSndFileFile::Open(CStdString& filename, fileOpenModeEnum mode, bool ster } m_mode = mode; stereo ? m_fileInfo.channels = 2 : m_fileInfo.channels = 1; - m_fileInfo.samplerate = sampleRate; + if(m_sampleRate == 0) + { + m_sampleRate = sampleRate; + m_fileInfo.samplerate = sampleRate; + } if( (mode==WRITE) && !sf_format_check(&m_fileInfo)) { @@ -98,7 +103,7 @@ int LibSndFileFile::ReadChunkMono(AudioChunkRef& chunk) chunk.reset(new AudioChunk()); short temp[8000]; numRead = sf_read_short(m_pFile, temp, 8000); - chunk->SetBuffer(temp, sizeof(short)*numRead, AudioChunk::PcmAudio); + chunk->SetBuffer(temp, sizeof(short)*numRead, AudioChunk::PcmAudio, 0, 0, m_sampleRate); } else { |