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

Commit 5a269839 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 4824048 from cf568f69 to pi-release

Change-Id: Ib30a650f031cea46842162a10310aa1ebf71a121
parents 7c6b35ea cf568f69
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1023,7 +1023,9 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
                    break;
                }
            }
            if (mode != kCryptoModeUnencrypted) {
                mLastTrack->meta.setInt32(kKeyCryptoMode, mode);
            }
            break;
        }

+29 −37
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@
#define PROP_DRC_OVERRIDE_HEAVY      "aac_drc_heavy"
#define PROP_DRC_OVERRIDE_ENC_LEVEL "aac_drc_enc_target_level"
#define PROP_DRC_OVERRIDE_EFFECT_TYPE "ro.aac_drc_effect_type"
#define PROP_DRC_OVERRIDE_LOUDNESS_LEVEL "aac_drc_loudness_level"

#define MAX_CHANNEL_COUNT            8  /* maximum number of audio channels that can be decoded */

@@ -216,18 +215,8 @@ status_t SoftXAAC::initDecoder() {
    RETURN_IF_NE(err_code, IA_NO_ERROR, err_code, "IA_ENHAACPLUS_DEC_CONFIG_PARAM_DRC_TARGET_LEVEL");
#ifdef     ENABLE_MPEG_D_DRC

    if (property_get(PROP_DRC_OVERRIDE_LOUDNESS_LEVEL, value, NULL))
    {
        ui_drc_val = atoi(value);
        ALOGV("AAC decoder using desired DRC target reference level of %d instead of %d",ui_drc_val,
                DRC_DEFAULT_MOBILE_LOUDNESS_LEVEL);
    }
    else
    {
        ui_drc_val= DRC_DEFAULT_MOBILE_LOUDNESS_LEVEL;
    }


    /* Use ui_drc_val from PROP_DRC_OVERRIDE_REF_LEVEL or DRC_DEFAULT_MOBILE_REF_LEVEL
     * for IA_ENHAACPLUS_DEC_DRC_TARGET_LOUDNESS too */
    err_code = ixheaacd_dec_api(mXheaacCodecHandle,
                                IA_API_CMD_SET_CONFIG_PARAM,
                                IA_ENHAACPLUS_DEC_DRC_TARGET_LOUDNESS,
@@ -1330,30 +1319,6 @@ int SoftXAAC::configMPEGDDrc()
        IA_ENHAACPLUS_DEC_CONFIG_PARAM_SBR_MODE, &i_sbr_mode);
        RETURN_IF_NE(err_code, IA_NO_ERROR , err_code,"IA_ENHAACPLUS_DEC_CONFIG_PARAM_SBR_MODE");


    if(i_sbr_mode!=0)
    {
        WORD32 frame_length;
        if (i_sbr_mode==1)
        {
            frame_length=2048;
        }
        else if(i_sbr_mode==3)
        {
            frame_length=4096;
        }
        else
        {
            frame_length=1024;
        }
        err_code =
            ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_SET_CONFIG_PARAM,
                IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE, &frame_length);
        RETURN_IF_NE(err_code, IA_NO_ERROR, err_code, "IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE");

    }


    err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_INIT,
                              IA_CMD_TYPE_INIT_API_POST_CONFIG_PARAMS, NULL);

@@ -1528,6 +1493,33 @@ int SoftXAAC::configMPEGDDrc()
      if(mpegd_drc_present==1){

        WORD32 interface_is_present = 1;
        WORD32 frame_length;

        if(i_sbr_mode != 0)
        {
            if (i_sbr_mode == 1)
            {
                frame_length = 2048;
            }
            else if(i_sbr_mode == 3)
            {
                frame_length = 4096;
            }
            else
            {
                frame_length = 1024;
            }
        }
        else
        {
            frame_length = 4096;
        }

        err_code =
            ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_SET_CONFIG_PARAM,
                IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE, &frame_length);
        RETURN_IF_NE(err_code, IA_NO_ERROR, err_code, "IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE");



        err_code = ia_drc_dec_api(
+21 −10
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ struct M3UParser::MediaGroup : public RefBase {
            const char *language,
            uint32_t flags);

    bool getActiveURI(AString *uri) const;
    bool getActiveURI(AString *uri, const char *baseURL) const;

    void pickRandomMediaItems();
    status_t selectTrack(size_t index, bool select);
@@ -76,6 +76,7 @@ private:
        AString mURI;
        AString mLanguage;
        uint32_t mFlags;
        AString makeURL(const char *baseURL) const;
    };

    Type mType;
@@ -228,12 +229,12 @@ sp<AMessage> M3UParser::MediaGroup::getTrackInfo(size_t index) const {
    return format;
}

bool M3UParser::MediaGroup::getActiveURI(AString *uri) const {
bool M3UParser::MediaGroup::getActiveURI(AString *uri, const char *baseURL) const {
    for (size_t i = 0; i < mMediaItems.size(); ++i) {
        if (mSelectedIndex >= 0 && i == (size_t)mSelectedIndex) {
            const Media &item = mMediaItems.itemAt(i);

            *uri = item.mURI;
            *uri = item.makeURL(baseURL);
            return true;
        }
    }
@@ -322,7 +323,7 @@ bool M3UParser::itemAt(size_t index, AString *uri, sp<AMessage> *meta) {
    }

    if (uri) {
        *uri = mItems.itemAt(index).mURI;
        *uri = mItems.itemAt(index).makeURL(mBaseURI.c_str());
    }

    if (meta) {
@@ -428,7 +429,7 @@ bool M3UParser::getTypeURI(size_t index, const char *key, AString *uri) const {
    AString groupID;
    if (!meta->findString(key, &groupID)) {
        if (uri != NULL) {
            *uri = mItems.itemAt(index).mURI;
            *uri = mItems.itemAt(index).makeURL(mBaseURI.c_str());
        }

        AString codecs;
@@ -459,7 +460,7 @@ bool M3UParser::getTypeURI(size_t index, const char *key, AString *uri) const {
    // don't care about the active URI (or if there is an active one)
    if (uri != NULL) {
        sp<MediaGroup> group = mMediaGroups.valueFor(groupID);
        if (!group->getActiveURI(uri)) {
        if (!group->getActiveURI(uri, mBaseURI.c_str())) {
            return false;
        }

@@ -548,6 +549,18 @@ static bool MakeURL(const char *baseURL, const char *url, AString *out) {
    return true;
}

AString M3UParser::Item::makeURL(const char *baseURL) const {
    AString out;
    CHECK(MakeURL(baseURL, mURI.c_str(), &out));
    return out;
}

AString M3UParser::MediaGroup::Media::makeURL(const char *baseURL) const {
    AString out;
    CHECK(MakeURL(baseURL, mURI.c_str(), &out));
    return out;
}

status_t M3UParser::parse(const void *_data, size_t size) {
    int32_t lineNo = 0;

@@ -678,7 +691,7 @@ status_t M3UParser::parse(const void *_data, size_t size) {
            mItems.push();
            Item *item = &mItems.editItemAt(mItems.size() - 1);

            CHECK(MakeURL(mBaseURI.c_str(), line.c_str(), &item->mURI));
            item->mURI = line;

            item->mMeta = itemMeta;

@@ -1190,9 +1203,7 @@ status_t M3UParser::parseMedia(const AString &line) {

            AString tmp(val, 1, val.size() - 2);

            if (!MakeURL(mBaseURI.c_str(), tmp.c_str(), &groupURI)) {
                ALOGI("Failed to make absolute URI from '%s'.", tmp.c_str());
            }
            groupURI = tmp;

            haveGroupURI = true;
        }
+1 −0
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ private:
    struct Item {
        AString mURI;
        sp<AMessage> mMeta;
        AString makeURL(const char *baseURL) const;
    };

    status_t mInitCheck;
+3 −0
Original line number Diff line number Diff line
@@ -607,6 +607,9 @@ void ID3::Iterator::getstring(String8 *id, bool otherdata) const {
        // UCS-2
        // API wants number of characters, not number of bytes...
        int len = n / 2;
        if (len == 0) {
            return;
        }
        const char16_t *framedata = (const char16_t *) (frameData + 1);
        char16_t *framedatacopy = NULL;
        if (*framedata == 0xfffe) {
Loading