Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd3b1333 authored by Steve Kondik's avatar Steve Kondik
Browse files

stagefright: Pass AAC profile from MatroskaExtractor

 * Needed by framework to determine audio apth

Change-Id: I8d928852fb4a24e3d575d70fbf366bae1a178b31
parent f577bc89
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@
#include <media/stagefright/MetaData.h>
#include <media/stagefright/Utils.h>
#include <utils/String8.h>
#include <media/stagefright/foundation/ABitReader.h>

#include <inttypes.h>

@@ -878,6 +879,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);