summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MPEG4Extractor.cpp
diff options
context:
space:
mode:
authorIchitaro Kohara <ichitaro.kohara@sonymobile.com>2013-06-06 12:19:17 +0900
committerDavid Pursehouse <david.pursehouse@sonymobile.com>2013-11-25 03:09:14 +0000
commitf7df9ab3187a3c02bffe1fba10d3fb95197e4a07 (patch)
tree68c48154a0a3c8d46f04f4ac3f6334b49b24e8e1 /media/libstagefright/MPEG4Extractor.cpp
parent5bf2560ce9b70bee077e0c264ac06648f0f63acc (diff)
downloadframeworks_av-f7df9ab3187a3c02bffe1fba10d3fb95197e4a07.zip
frameworks_av-f7df9ab3187a3c02bffe1fba10d3fb95197e4a07.tar.gz
frameworks_av-f7df9ab3187a3c02bffe1fba10d3fb95197e4a07.tar.bz2
Fixed data offset at parsing IPMP Descriptors
MPEG4Extractor::parseDrmSINF() miscalculated data offset in parsing IPMP Descriptors. This commit makes it to take in 2 bytes which is the size of IPMPS_Type field. Change-Id: I42cbb6793af9d9b2f14dbfdd7a616096002793f9
Diffstat (limited to 'media/libstagefright/MPEG4Extractor.cpp')
-rw-r--r--media/libstagefright/MPEG4Extractor.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index cbc169b..d0b6185 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -682,8 +682,9 @@ status_t MPEG4Extractor::parseDrmSINF(off64_t *offset, off64_t data_offset) {
}
sinf->len = dataLen - 3;
sinf->IPMPData = new char[sinf->len];
+ data_offset += 2;
- if (mDataSource->readAt(data_offset + 2, sinf->IPMPData, sinf->len) < sinf->len) {
+ if (mDataSource->readAt(data_offset, sinf->IPMPData, sinf->len) < sinf->len) {
return ERROR_IO;
}
data_offset += sinf->len;