Bug 1329061 - parse ESDS in wave atom container for QT format. r=jya draft
authorAlfredo.Yang <ayang@mozilla.com>
Fri, 06 Jan 2017 15:30:42 +0800
changeset 459548 41942393f0a36f3cfee462f1d8a27e853a89cc68
parent 459458 13603af3862d9583ed2feefb06e0988c2d7fed8c
child 459549 c6375735880b3aff3b0c87e181b44e875b0ffd2c
child 459576 68476fed96c4a2b58d68036dbde30f5d0b3bd754
push id41262
push userbmo:ayang@mozilla.com
push dateThu, 12 Jan 2017 06:53:59 +0000
reviewersjya
bugs1329061
milestone53.0a1
Bug 1329061 - parse ESDS in wave atom container for QT format. r=jya MozReview-Commit-ID: 4G15pqakse9
media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
--- a/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
@@ -1643,17 +1643,18 @@ status_t MPEG4Extractor::parseChunk(off6
             if (!mLastTrack) {
               return ERROR_MALFORMED;
             }
             mLastTrack->meta->setData(
                     kKeyESDS, kTypeESDS, &buffer[4], chunk_data_size - 4);
 
             if (mPath.Length() >= 2
                     && (mPath[mPath.Length() - 2] == FOURCC('m', 'p', '4', 'a') ||
-                       (mPath[mPath.Length() - 2] == FOURCC('e', 'n', 'c', 'a')))) {
+                       (mPath[mPath.Length() - 2] == FOURCC('e', 'n', 'c', 'a')) ||
+                       (mPath[mPath.Length() - 2] == FOURCC('w', 'a', 'v', 'e')))) {
                 // Information from the ESDS must be relied on for proper
                 // setup of sample rate and channel count for MPEG4 Audio.
                 // The generic header appears to only contain generic
                 // information...
 
                 status_t err = updateAudioTrackInfoFromESDS_MPEG4Audio(
                         &buffer[4], chunk_data_size - 4);