diff options
author | Niel Alejandro Paz <niel.paz.hernandez@intel.com> | 2015-06-15 13:14:39 -0500 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2015-12-26 03:57:14 -0800 |
commit | d2c00b4b6d506104bbdb8e9e5d2f609bb4428bd8 (patch) | |
tree | 7c7d75071b9a38f3932e48377bd3467086774fc7 /media | |
parent | efa19aba6cdc191237c9e9b123714bba8151c591 (diff) | |
download | frameworks_av-d2c00b4b6d506104bbdb8e9e5d2f609bb4428bd8.zip frameworks_av-d2c00b4b6d506104bbdb8e9e5d2f609bb4428bd8.tar.gz frameworks_av-d2c00b4b6d506104bbdb8e9e5d2f609bb4428bd8.tar.bz2 |
Validation of Number of Channels on WAV files.
Corrects the validation of the number of channels that was causing a floating
point exception when this number is zero.
It also corrects the range of admitted channels on WAV files.
Change-Id: I21f005d1f30c1fd93206c6bce0d3be4b8307059c
Signed-off-by: Niel Alejandro Paz <niel.paz.hernandez@intel.com>
Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/WAVExtractor.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/media/libstagefright/WAVExtractor.cpp b/media/libstagefright/WAVExtractor.cpp index b988f19..cc1d7ce 100644 --- a/media/libstagefright/WAVExtractor.cpp +++ b/media/libstagefright/WAVExtractor.cpp @@ -194,17 +194,17 @@ status_t WAVExtractor::init() { } mNumChannels = U16_LE_AT(&formatSpec[2]); + + if (mNumChannels < 1 || mNumChannels > 8) { + ALOGE("Unsupported number of channels (%d)", mNumChannels); + return ERROR_UNSUPPORTED; + } + if (mWaveFormat != WAVE_FORMAT_EXTENSIBLE) { - if (mNumChannels == 0) { - return ERROR_UNSUPPORTED; - } else if (mNumChannels != 1 && mNumChannels != 2) { + if (mNumChannels != 1 && mNumChannels != 2) { ALOGW("More than 2 channels (%d) in non-WAVE_EXT, unknown channel mask", mNumChannels); } - } else { - if (mNumChannels < 1 || mNumChannels > 8) { - return ERROR_UNSUPPORTED; - } } mSampleRate = U32_LE_AT(&formatSpec[4]); |