diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2012-05-02 10:37:44 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-05-02 10:37:44 -0700 |
commit | 95c157cc6b109a5058f29edd73811e90d91e92ab (patch) | |
tree | f573854a170d870c3bb68d500c4386f5866ae357 | |
parent | 2c3297ab6c4daaaa7b27eed8418c64cf168fe2a1 (diff) | |
parent | 72b2b9ba68ee85a3054a0de3a8414b8dfb217aeb (diff) | |
download | frameworks_av-95c157cc6b109a5058f29edd73811e90d91e92ab.zip frameworks_av-95c157cc6b109a5058f29edd73811e90d91e92ab.tar.gz frameworks_av-95c157cc6b109a5058f29edd73811e90d91e92ab.tar.bz2 |
Merge "Tolerate 0 valid bits value in WAV_EXT" into jb-dev
-rw-r--r-- | media/libstagefright/WAVExtractor.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/media/libstagefright/WAVExtractor.cpp b/media/libstagefright/WAVExtractor.cpp index c35a77a..96b2cf0 100644 --- a/media/libstagefright/WAVExtractor.cpp +++ b/media/libstagefright/WAVExtractor.cpp @@ -227,9 +227,15 @@ status_t WAVExtractor::init() { if (mWaveFormat == WAVE_FORMAT_EXTENSIBLE) { uint16_t validBitsPerSample = U16_LE_AT(&formatSpec[18]); if (validBitsPerSample != mBitsPerSample) { - ALOGE("validBits(%d) != bitsPerSample(%d) are not supported", - validBitsPerSample, mBitsPerSample); - return ERROR_UNSUPPORTED; + if ((validBitsPerSample != 0) { + ALOGE("validBits(%d) != bitsPerSample(%d) are not supported", + validBitsPerSample, mBitsPerSample); + return ERROR_UNSUPPORTED; + } else { + // we only support valitBitsPerSample == bitsPerSample but some WAV_EXT + // writers don't correctly set the valid bits value, and leave it at 0. + ALOGW("WAVE_EXT has 0 valid bits per sample, ignoring"); + } } mChannelMask = U32_LE_AT(&formatSpec[20]); |