diff options
author | Andreas Huber <andih@google.com> | 2010-08-18 09:58:30 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-08-18 09:58:30 -0700 |
commit | 08c94b265c4bf7105b593afb119053a2e16865e9 (patch) | |
tree | ae8d1f3f826ff0b9cdc46885fd41432d56f6e35a /media | |
parent | 80810f86e93866674f3a4ca61f84887e7717aa63 (diff) | |
download | frameworks_base-08c94b265c4bf7105b593afb119053a2e16865e9.zip frameworks_base-08c94b265c4bf7105b593afb119053a2e16865e9.tar.gz frameworks_base-08c94b265c4bf7105b593afb119053a2e16865e9.tar.bz2 |
Be more lenient when validating ESDS information in mp4 audio tracks. Allow the absence of any codec specific data and assume that the mpeg4 headers are not lying to us.
Change-Id: Ia29b967cbee9eabb21c6c26508b27b379ff9ba17
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/MPEG4Extractor.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp index 6af3a7f..12a1e6e 100644 --- a/media/libstagefright/MPEG4Extractor.cpp +++ b/media/libstagefright/MPEG4Extractor.cpp @@ -1273,6 +1273,14 @@ status_t MPEG4Extractor::updateAudioTrackInfoFromESDS_MPEG4Audio( hexdump(csd, csd_size); #endif + if (csd_size == 0) { + // There's no further information, i.e. no codec specific data + // Let's assume that the information provided in the mpeg4 headers + // is accurate and hope for the best. + + return OK; + } + if (csd_size < 2) { return ERROR_MALFORMED; } |