diff options
author | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2015-04-06 17:57:59 +0530 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2015-05-05 13:17:22 -0700 |
commit | ae0c0a17e824356eb55a6692ff8dee6cdc050401 (patch) | |
tree | 2ef98f77134c1efdf97df46ca87661b9cdbf5565 /media | |
parent | 8b07404cfe564885045a63bb592d6b6dc838b408 (diff) | |
download | frameworks_av-ae0c0a17e824356eb55a6692ff8dee6cdc050401.zip frameworks_av-ae0c0a17e824356eb55a6692ff8dee6cdc050401.tar.gz frameworks_av-ae0c0a17e824356eb55a6692ff8dee6cdc050401.tar.bz2 |
Added support for MPEG2 video in MPEG4Extractor
Change-Id: I70b1c3a07062526fc6d5333f70f4f1d792834e7f
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 6573afc..36b7e94 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; } @@ -2830,6 +2841,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) { |