From f7df9ab3187a3c02bffe1fba10d3fb95197e4a07 Mon Sep 17 00:00:00 2001 From: Ichitaro Kohara Date: Thu, 6 Jun 2013 12:19:17 +0900 Subject: 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 --- media/libstagefright/MPEG4Extractor.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'media/libstagefright/MPEG4Extractor.cpp') 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; -- cgit v1.1