summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/matroska/MatroskaExtractor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/matroska/MatroskaExtractor.cpp')
-rw-r--r--media/libstagefright/matroska/MatroskaExtractor.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/media/libstagefright/matroska/MatroskaExtractor.cpp b/media/libstagefright/matroska/MatroskaExtractor.cpp
index a66ca6d..ff81379 100644
--- a/media/libstagefright/matroska/MatroskaExtractor.cpp
+++ b/media/libstagefright/matroska/MatroskaExtractor.cpp
@@ -240,13 +240,12 @@ MatroskaSource::MatroskaSource(
mType = HEVC;
uint32_t type;
- const void *data;
+ const uint8_t *data;
size_t size;
- CHECK(meta->findData(kKeyHVCC, &type, &data, &size));
+ CHECK(meta->findData(kKeyHVCC, &type, (const void **)&data, &size));
- const uint8_t *ptr = (const uint8_t *)data;
CHECK(size >= 7);
- mNALSizeLen = 1 + (ptr[14 + 7] & 3);
+ mNALSizeLen = 1 + (data[14 + 7] & 3);
ALOGV("mNALSizeLen = %zu", mNALSizeLen);
} else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AAC)) {
mType = AAC;
@@ -1028,7 +1027,7 @@ void MatroskaExtractor::addTracks() {
}
} else if (!strcmp("V_MPEGH/ISO/HEVC", codecID)) {
meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_VIDEO_HEVC);
- meta->setData(kKeyHVCC, 0, codecPrivate, codecPrivateSize);
+ meta->setData(kKeyHVCC, kTypeHVCC, codecPrivate, codecPrivateSize);
} else if (!strcmp("V_VP8", codecID)) {
meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_VIDEO_VP8);
@@ -1051,7 +1050,9 @@ void MatroskaExtractor::addTracks() {
if (!strcmp("A_AAC", codecID)) {
meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_AAC);
- CHECK(codecPrivateSize >= 2);
+ if (codecPrivateSize < 2) {
+ return;
+ }
addESDSFromCodecPrivate(
meta, true, codecPrivate, codecPrivateSize);