diff options
author | Ichitaro Kohara <ichitaro.kohara@sonymobile.com> | 2013-06-06 12:19:17 +0900 |
---|---|---|
committer | David Pursehouse <david.pursehouse@sonymobile.com> | 2013-11-25 03:09:14 +0000 |
commit | f7df9ab3187a3c02bffe1fba10d3fb95197e4a07 (patch) | |
tree | 68c48154a0a3c8d46f04f4ac3f6334b49b24e8e1 | |
parent | 5bf2560ce9b70bee077e0c264ac06648f0f63acc (diff) | |
download | frameworks_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
-rw-r--r-- | media/libstagefright/MPEG4Extractor.cpp | 3 |
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; |