@@ 400,6 400,11 @@ SimpleWavFileReadStream::getFrames(size_
size_t requested = count * m_channelCount;
size_t got = 0;
+#ifdef DEBUG_SIMPLE_WAV_FILE_READ_STREAM
+ std::cerr << "SimpleWavFileReadStream::getFrames: count = " << count
+ << ", requested = " << requested << std::endl;
+#endif
+
while (got < requested) {
if (m_dataChunkSize > 0 && m_dataReadOffset >= m_dataChunkSize) {
break;
@@ 419,6 424,7 @@ SimpleWavFileReadStream::getFrames(size_
case 32: frames[got] = convertSampleFloat(buf); break;
}
++got;
+ m_retryCount = 0;
}
if (got < requested) {
@@ 431,10 437,6 @@ SimpleWavFileReadStream::getFrames(size_
if (m_file->eof() && !m_file->bad()) {
m_file->clear();
}
-
- if (got > 0) {
- m_retryCount = 0;
- }
return got / m_channelCount;
}