summaryrefslogtreecommitdiffstats
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
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
-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;
}