summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MPEG4Extractor.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-03-15 11:34:12 -0700
committerAndreas Huber <andih@google.com>2010-03-15 11:45:40 -0700
commit746973186764292a84d11856ac315fa4b62957ad (patch)
tree3f8d86fa61a6072d83c8cb6c181f11fbe5cb4b61 /media/libstagefright/MPEG4Extractor.cpp
parent739d629c59758ca1832b8823daf98161a9e87615 (diff)
downloadframeworks_av-746973186764292a84d11856ac315fa4b62957ad.zip
frameworks_av-746973186764292a84d11856ac315fa4b62957ad.tar.gz
frameworks_av-746973186764292a84d11856ac315fa4b62957ad.tar.bz2
We no longer do sanity checks based on "hdlr" tags in .mp4 files. Pretty soon we'll play any bytestream that even vaguely resembles the spec...
Change-Id: I43e05404860d8856b8aa566cc9b256bb3fa57e6f related-to-bug: 2483328
Diffstat (limited to 'media/libstagefright/MPEG4Extractor.cpp')
-rw-r--r--media/libstagefright/MPEG4Extractor.cpp51
1 files changed, 0 insertions, 51 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index 634dba7..f50451d 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -677,49 +677,6 @@ status_t MPEG4Extractor::parseChunk(off_t *offset, int depth) {
break;
}
- case FOURCC('h', 'd', 'l', 'r'):
- {
- uint8_t buffer[12];
-
- if (chunk_data_size < (ssize_t)sizeof(buffer)) {
- return ERROR_MALFORMED;
- }
-
- if (mDataSource->readAt(data_offset, buffer, sizeof(buffer))
- < (ssize_t)sizeof(buffer)) {
- return ERROR_IO;
- }
-
- if (U32_AT(buffer) != 0) {
- // Should be version 0, flags 0.
- return ERROR_MALFORMED;
- }
-
- if (U32_AT(&buffer[4]) != 0) {
- // pre_defined should be 0 for an ISO 14496-12 compliant
- // file, if it's not try some heuristics seen in the field.
- // This has been added to support some so-called
- // "enhanced" podcasts.
-
- if (U32_AT(&buffer[4]) == FOURCC('d', 'h', 'l', 'r')) {
- *offset += chunk_size;
- break;
- }
-
- if (U32_AT(&buffer[4]) != FOURCC('m', 'h', 'l', 'r')) {
- return ERROR_MALFORMED;
- }
-
- mHandlerType = U32_AT(&buffer[8]);
- *offset += chunk_size;
- break;
- }
-
- mHandlerType = U32_AT(&buffer[8]);
- *offset += chunk_size;
- break;
- }
-
case FOURCC('s', 't', 's', 'd'):
{
if (chunk_data_size < 8) {
@@ -770,10 +727,6 @@ status_t MPEG4Extractor::parseChunk(off_t *offset, int depth) {
case FOURCC('s', 'a', 'm', 'r'):
case FOURCC('s', 'a', 'w', 'b'):
{
- if (mHandlerType != FOURCC('s', 'o', 'u', 'n')) {
- return ERROR_MALFORMED;
- }
-
uint8_t buffer[8 + 20];
if (chunk_data_size < (ssize_t)sizeof(buffer)) {
// Basic AudioSampleEntry size.
@@ -827,10 +780,6 @@ status_t MPEG4Extractor::parseChunk(off_t *offset, int depth) {
{
mHasVideo = true;
- if (mHandlerType != FOURCC('v', 'i', 'd', 'e')) {
- return ERROR_MALFORMED;
- }
-
uint8_t buffer[78];
if (chunk_data_size < (ssize_t)sizeof(buffer)) {
// Basic VideoSampleEntry size.