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
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 @@
             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 @@
         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 @@
         {
             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.
diff --git a/media/libstagefright/include/MPEG4Extractor.h b/media/libstagefright/include/MPEG4Extractor.h
index 8b5a388..c8663d5 100644
--- a/media/libstagefright/include/MPEG4Extractor.h
+++ b/media/libstagefright/include/MPEG4Extractor.h
@@ -59,7 +59,6 @@
 
     sp<MetaData> mFileMetaData;
 
-    uint32_t mHandlerType;
     Vector<uint32_t> mPath;
 
     status_t readMetaData();