diff options
author | Steve Kondik <steve@cyngn.com> | 2014-11-28 13:18:08 -0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-10-23 12:38:46 -0500 |
commit | 31b46eb4fec33d2c91c0629290a7a5f1b1d652b8 (patch) | |
tree | a709fa75a2198fc91b4e5a1d70324e76be0c35d2 /media/libstagefright/matroska | |
parent | 9641a8e47588357baa0de8b967e809e5cdf1901f (diff) | |
download | frameworks_av-31b46eb4fec33d2c91c0629290a7a5f1b1d652b8.zip frameworks_av-31b46eb4fec33d2c91c0629290a7a5f1b1d652b8.tar.gz frameworks_av-31b46eb4fec33d2c91c0629290a7a5f1b1d652b8.tar.bz2 |
stagefright: Pass AAC profile from MatroskaExtractor
* Needed by framework to determine audio apth
Change-Id: I8d928852fb4a24e3d575d70fbf366bae1a178b31
Diffstat (limited to 'media/libstagefright/matroska')
-rw-r--r-- | media/libstagefright/matroska/MatroskaExtractor.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/media/libstagefright/matroska/MatroskaExtractor.cpp b/media/libstagefright/matroska/MatroskaExtractor.cpp index 2143e35..a66ca6d 100644 --- a/media/libstagefright/matroska/MatroskaExtractor.cpp +++ b/media/libstagefright/matroska/MatroskaExtractor.cpp @@ -31,6 +31,7 @@ #include <media/stagefright/MetaData.h> #include <media/stagefright/Utils.h> #include <utils/String8.h> +#include <media/stagefright/foundation/ABitReader.h> #include <inttypes.h> @@ -854,6 +855,17 @@ static void addESDSFromCodecPrivate( const sp<MetaData> &meta, bool isAudio, const void *priv, size_t privSize) { + if(isAudio) { + ABitReader br((const uint8_t *)priv, privSize); + uint32_t objectType = br.getBits(5); + + if (objectType == 31) { // AAC-ELD => additional 6 bits + objectType = 32 + br.getBits(6); + } + + meta->setInt32(kKeyAACAOT, objectType); + } + int privSizeBytesRequired = bytesForSize(privSize); int esdsSize2 = 14 + privSizeBytesRequired + privSize; int esdsSize2BytesRequired = bytesForSize(esdsSize2); |