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

Commit f434fb50 authored by Eric Laurent's avatar Eric Laurent
Browse files

resolved conflicts for merge of 79178b8b to master

Change-Id: Ia597549a6d159b86063eb3afec5ce7fe98434a65
parents 7b95eba9 79178b8b
Loading
Loading
Loading
Loading
+19 −9
Original line number Diff line number Diff line
@@ -49,6 +49,16 @@ extern "C" const struct effect_interface_s gLvmEffectInterface;
        }\
    }


static inline int16_t clamp16(int32_t sample)
{
    // check overflow for both positive and negative values:
    // all bits above short range must me equal to sign bit
    if ((sample>>15) ^ (sample>>31))
        sample = 0x7FFF ^ (sample>>31);
    return sample;
}

// Namespaces
namespace android {
namespace {
@@ -707,13 +717,6 @@ int LvmBundle_init(EffectContext *pContext){
}   /* end LvmBundle_init */


static inline int16_t clamp16(int32_t sample)
{
    if ((sample>>15) ^ (sample>>31))
        sample = 0x7FFF ^ (sample>>31);
    return sample;
}

//----------------------------------------------------------------------------
// LvmBundle_process()
//----------------------------------------------------------------------------
@@ -2688,8 +2691,15 @@ int Effect_process(effect_handle_t self,
        //pContext->pBundledContext->NumberEffectsEnabled,
        //pContext->pBundledContext->NumberEffectsCalled, pContext->EffectType);
        // 2 is for stereo input
        if (pContext->config.outputCfg.accessMode == EFFECT_BUFFER_ACCESS_ACCUMULATE) {
            for (size_t i=0; i < outBuffer->frameCount*2; i++){
                outBuffer->s16[i] =
                        clamp16((LVM_INT32)outBuffer->s16[i] + (LVM_INT32)inBuffer->s16[i]);
            }
        } else {
            memcpy(outBuffer->raw, inBuffer->raw, outBuffer->frameCount*sizeof(LVM_INT16)*2);
        }
    }

    return status;
}   /* end Effect_process */