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

Commit 3820fe85 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Merge cherrypicks of [2779825, 2780206, 2780207, 2780102, 2780103, 2779826,...

Merge cherrypicks of [2779825, 2780206, 2780207, 2780102, 2780103, 2779826, 2779827, 2779722, 2779723, 2779973, 2780208, 2780209, 2780210, 2780211, 2780212, 2780213, 2779703, 2779704, 2779705, 2779706, 2779707, 2779708, 2779709, 2780214, 2779828, 2779829, 2779454, 2779724] into oc-r3-release

Change-Id: Ide29cd0a1bb6203ee497e757588e805a14a8869d
parents 049ccd84 2ee4d081
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -447,6 +447,10 @@ static int Downmix_Command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdS
            return -EINVAL;
        }
        effect_param_t *cmd = (effect_param_t *) pCmdData;
        if (cmd->psize != sizeof(int32_t)) {
            android_errorWriteLog(0x534e4554, "63662938");
            return -EINVAL;
        }
        *(int *)pReplyData = Downmix_setParameter(pDownmixer, *(int32_t *)cmd->data,
                cmd->vsize, cmd->data + sizeof(int32_t));
        break;
+36 −3
Original line number Diff line number Diff line
@@ -181,12 +181,13 @@ int Reverb_init (ReverbContext *pContext);
void Reverb_free            (ReverbContext *pContext);
int  Reverb_setConfig       (ReverbContext *pContext, effect_config_t *pConfig);
void Reverb_getConfig       (ReverbContext *pContext, effect_config_t *pConfig);
int  Reverb_setParameter    (ReverbContext *pContext, void *pParam, void *pValue);
int  Reverb_setParameter    (ReverbContext *pContext, void *pParam, void *pValue, int vsize);
int  Reverb_getParameter    (ReverbContext *pContext,
                             void          *pParam,
                             uint32_t      *pValueSize,
                             void          *pValue);
int Reverb_LoadPreset       (ReverbContext   *pContext);
int Reverb_paramValueSize   (int32_t param);

/* Effect Library Interface Implementation */

@@ -1746,12 +1747,13 @@ int Reverb_getParameter(ReverbContext *pContext,
//  pContext         - handle to instance data
//  pParam           - pointer to parameter
//  pValue           - pointer to value
//  vsize            - value size
//
// Outputs:
//
//----------------------------------------------------------------------------

int Reverb_setParameter (ReverbContext *pContext, void *pParam, void *pValue){
int Reverb_setParameter (ReverbContext *pContext, void *pParam, void *pValue, int vsize){
    int status = 0;
    int16_t level;
    int16_t ratio;
@@ -1775,6 +1777,11 @@ int Reverb_setParameter (ReverbContext *pContext, void *pParam, void *pValue){
        return 0;
    }

    if (vsize < Reverb_paramValueSize(param)) {
        android_errorWriteLog(0x534e4554, "63526567");
        return -EINVAL;
    }

    switch (param){
        case REVERB_PARAM_PROPERTIES:
            ALOGV("\tReverb_setParameter() REVERB_PARAM_PROPERTIES");
@@ -1850,6 +1857,31 @@ int Reverb_setParameter (ReverbContext *pContext, void *pParam, void *pValue){
    return status;
} /* end Reverb_setParameter */


/**
 * returns the size in bytes of the value of each environmental reverb parameter
 */
int Reverb_paramValueSize(int32_t param) {
    switch (param) {
    case REVERB_PARAM_ROOM_LEVEL:
    case REVERB_PARAM_ROOM_HF_LEVEL:
    case REVERB_PARAM_REFLECTIONS_LEVEL:
    case REVERB_PARAM_REVERB_LEVEL:
        return sizeof(int16_t); // millibel
    case REVERB_PARAM_DECAY_TIME:
    case REVERB_PARAM_REFLECTIONS_DELAY:
    case REVERB_PARAM_REVERB_DELAY:
        return sizeof(uint32_t); // milliseconds
    case REVERB_PARAM_DECAY_HF_RATIO:
    case REVERB_PARAM_DIFFUSION:
    case REVERB_PARAM_DENSITY:
        return sizeof(int16_t); // permille
    case REVERB_PARAM_PROPERTIES:
        return sizeof(s_reverb_settings); // struct of all reverb properties
    }
    return sizeof(int32_t);
}

} // namespace
} // namespace

@@ -2020,7 +2052,8 @@ int Reverb_command(effect_handle_t self,

            *(int *)pReplyData = android::Reverb_setParameter(pContext,
                                                             (void *)p->data,
                                                              p->data + p->psize);
                                                              p->data + p->psize,
                                                              p->vsize);
        } break;

        case EFFECT_CMD_ENABLE:
+12 −6
Original line number Diff line number Diff line
@@ -940,6 +940,12 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
                ALOGE("moov: depth %d", depth);
                return ERROR_MALFORMED;
            }

            if (chunk_type == FOURCC('m', 'o', 'o', 'v') && mInitCheck == OK) {
                ALOGE("duplicate moov");
                return ERROR_MALFORMED;
            }

            if (chunk_type == FOURCC('m', 'o', 'o', 'f') && !mMoofFound) {
                // store the offset of the first segment
                mMoofFound = true;
@@ -1013,6 +1019,12 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
                if (!mLastTrack->meta->findInt32(kKeyTrackID, &trackId)) {
                    mLastTrack->skipTrack = true;
                }

                status_t err = verifyTrack(mLastTrack);
                if (err != OK) {
                    mLastTrack->skipTrack = true;
                }

                if (mLastTrack->skipTrack) {
                    Track *cur = mFirstTrack;

@@ -1032,12 +1044,6 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {

                    return OK;
                }

                status_t err = verifyTrack(mLastTrack);

                if (err != OK) {
                    return err;
                }
            } else if (chunk_type == FOURCC('m', 'o', 'o', 'v')) {
                mInitCheck = OK;

+4 −0
Original line number Diff line number Diff line
@@ -578,6 +578,10 @@ status_t MyOpusExtractor::readNextPacket(MediaBuffer **out) {
            }
            // First two pages are header pages.
            if (err == ERROR_END_OF_STREAM || mCurrentPage.mPageNo > 2) {
                if (mBuf != NULL) {
                    mBuf->release();
                    mBuf = NULL;
                }
                break;
            }
            curGranulePosition = mCurrentPage.mGranulePosition;
+1 −2
Original line number Diff line number Diff line
@@ -78,8 +78,7 @@ sp<ABuffer> decodeBase64(const AString &s) {
        accum = (accum << 6) | value;

        if (((i + 1) % 4) == 0) {
            out[j++] = (accum >> 16);

            if (j < outLen) { out[j++] = (accum >> 16); }
            if (j < outLen) { out[j++] = (accum >> 8) & 0xff; }
            if (j < outLen) { out[j++] = accum & 0xff; }

Loading