diff options
author | Lajos Molnar <lajos@google.com> | 2015-06-10 23:24:49 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-10 23:24:50 +0000 |
commit | 4a4265e9fc4e72d069eb2de37c8484d67fd3a9fc (patch) | |
tree | a4dca54373dcf917d0ca8a0752a48f1cf02d2ac4 /media | |
parent | 7d3dc897db90961bf0b841e3ac4169ce8eff1df1 (diff) | |
parent | ae0c0a17e824356eb55a6692ff8dee6cdc050401 (diff) | |
download | frameworks_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.cpp | 14 |
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) { |