diff options
author | Marco Nelissen <marcone@google.com> | 2012-11-20 09:24:24 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-11-20 09:24:24 -0800 |
commit | fcc6d852b6efb93c1f189399446e4219578cc311 (patch) | |
tree | 33612a6c88b9b10467f851e11f2561a08885d678 /media | |
parent | 9b5aa9e2f204a381e1e295ba3de6bc752b1be065 (diff) | |
parent | 515bb03933b7ec4e7133c0cc6de72d9abd57687f (diff) | |
download | frameworks_av-fcc6d852b6efb93c1f189399446e4219578cc311.zip frameworks_av-fcc6d852b6efb93c1f189399446e4219578cc311.tar.gz frameworks_av-fcc6d852b6efb93c1f189399446e4219578cc311.tar.bz2 |
am dca2b5d7: Merge "Changed parsing of trkn and disk from 8 bits to 16 bits"
* commit 'dca2b5d7c29ee06f3c82527dd7264fcc21cac9a6':
Changed parsing of trkn and disk from 8 bits to 16 bits
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/MPEG4Extractor.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp index dc8e4a3..cc71d4c 100644 --- a/media/libstagefright/MPEG4Extractor.cpp +++ b/media/libstagefright/MPEG4Extractor.cpp @@ -1633,8 +1633,9 @@ status_t MPEG4Extractor::parseMetaData(off64_t offset, size_t size) { { if (size == 16 && flags == 0) { char tmp[16]; - sprintf(tmp, "%d/%d", - (int)buffer[size - 5], (int)buffer[size - 3]); + uint16_t* pTrack = (uint16_t*)&buffer[10]; + uint16_t* pTotalTracks = (uint16_t*)&buffer[12]; + sprintf(tmp, "%d/%d", ntohs(*pTrack), ntohs(*pTotalTracks)); mFileMetaData->setCString(kKeyCDTrackNumber, tmp); } @@ -1642,10 +1643,11 @@ status_t MPEG4Extractor::parseMetaData(off64_t offset, size_t size) { } case FOURCC('d', 'i', 's', 'k'): { - if (size == 14 && flags == 0) { + if ((size == 14 || size == 16) && flags == 0) { char tmp[16]; - sprintf(tmp, "%d/%d", - (int)buffer[size - 3], (int)buffer[size - 1]); + uint16_t* pDisc = (uint16_t*)&buffer[10]; + uint16_t* pTotalDiscs = (uint16_t*)&buffer[12]; + sprintf(tmp, "%d/%d", ntohs(*pDisc), ntohs(*pTotalDiscs)); mFileMetaData->setCString(kKeyDiscNumber, tmp); } |