summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2015-06-10 23:24:49 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-10 23:24:50 +0000
commit4a4265e9fc4e72d069eb2de37c8484d67fd3a9fc (patch)
treea4dca54373dcf917d0ca8a0752a48f1cf02d2ac4 /media
parent7d3dc897db90961bf0b841e3ac4169ce8eff1df1 (diff)
parentae0c0a17e824356eb55a6692ff8dee6cdc050401 (diff)
downloadframeworks_av-4a4265e9fc4e72d069eb2de37c8484d67fd3a9fc.zip
frameworks_av-4a4265e9fc4e72d069eb2de37c8484d67fd3a9fc.tar.gz
frameworks_av-4a4265e9fc4e72d069eb2de37c8484d67fd3a9fc.tar.bz2
Merge "Added support for MPEG2 video in MPEG4Extractor" into mnc-dev
Diffstat (limited to 'media')
-rwxr-xr-x[-rw-r--r--]media/libstagefright/MPEG4Extractor.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index 62612c7..8bf47b1 100644..100755
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -1665,7 +1665,18 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
return err;
}
}
-
+ if (mPath.size() >= 2
+ && mPath[mPath.size() - 2] == FOURCC('m', 'p', '4', 'v')) {
+ // Check if the video is MPEG2
+ ESDS esds(&buffer[4], chunk_data_size - 4);
+
+ uint8_t objectTypeIndication;
+ if (esds.getObjectTypeIndication(&objectTypeIndication) == OK) {
+ if (objectTypeIndication >= 0x60 && objectTypeIndication <= 0x65) {
+ mLastTrack->meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_VIDEO_MPEG2);
+ }
+ }
+ }
break;
}
@@ -2847,6 +2858,7 @@ status_t MPEG4Extractor::verifyTrack(Track *track) {
return ERROR_MALFORMED;
}
} else if (!strcasecmp(mime, MEDIA_MIMETYPE_VIDEO_MPEG4)
+ || !strcasecmp(mime, MEDIA_MIMETYPE_VIDEO_MPEG2)
|| !strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AAC)) {
if (!track->meta->findData(kKeyESDS, &type, &data, &size)
|| type != kTypeESDS) {