summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-08-18 09:58:30 -0700
committerAndreas Huber <andih@google.com>2010-08-18 09:58:30 -0700
commit08c94b265c4bf7105b593afb119053a2e16865e9 (patch)
treeae8d1f3f826ff0b9cdc46885fd41432d56f6e35a /media
parent80810f86e93866674f3a4ca61f84887e7717aa63 (diff)
downloadframeworks_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.cpp8
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;
}