diff options
author | Glenn Kasten <gkasten@android.com> | 2012-12-17 13:18:08 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-12-17 13:18:08 -0800 |
commit | 9435b498123f3e22532391c30eb42c336bf743ec (patch) | |
tree | e6e4af4d00306a92002f435fcc3a9cb8f94a0a1f | |
parent | 442e29ef408f2cd32610988b52be6e06e11e4de2 (diff) | |
parent | f38259cfe5566914a49f5b0f8b11aa6a951d667a (diff) |
am f38259cf: Merge "Fix bug in WAVExtractor for 24-bit per sample wav"
* commit 'f38259cfe5566914a49f5b0f8b11aa6a951d667a':
Fix bug in WAVExtractor for 24-bit per sample wav
-rw-r--r-- | media/libstagefright/WAVExtractor.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/media/libstagefright/WAVExtractor.cpp b/media/libstagefright/WAVExtractor.cpp index a38400be..2a7f6284 100644 --- a/media/libstagefright/WAVExtractor.cpp +++ b/media/libstagefright/WAVExtractor.cpp @@ -401,8 +401,10 @@ status_t WAVSource::read( return err; } + // make sure that maxBytesToRead is multiple of 3, in 24-bit case size_t maxBytesToRead = - mBitsPerSample == 8 ? kMaxFrameSize / 2 : kMaxFrameSize; + mBitsPerSample == 8 ? kMaxFrameSize / 2 : + (mBitsPerSample == 24 ? 3*(kMaxFrameSize/3): kMaxFrameSize); size_t maxBytesAvailable = (mCurrentPos - mOffset >= (off64_t)mSize) @@ -425,7 +427,7 @@ status_t WAVSource::read( buffer->set_range(0, n); - if (mWaveFormat == WAVE_FORMAT_PCM) { + if (mWaveFormat == WAVE_FORMAT_PCM || mWaveFormat == WAVE_FORMAT_EXTENSIBLE) { if (mBitsPerSample == 8) { // Convert 8-bit unsigned samples to 16-bit signed. |