diff options
Diffstat (limited to 'media/libeffects/lvm/lib')
-rw-r--r-- | media/libeffects/lvm/lib/Bass/src/LVDBE_Init.c | 5 | ||||
-rw-r--r-- | media/libeffects/lvm/lib/Eq/src/LVEQNB_Init.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/media/libeffects/lvm/lib/Bass/src/LVDBE_Init.c b/media/libeffects/lvm/lib/Bass/src/LVDBE_Init.c index 3b3c07c..32c4ce0 100644 --- a/media/libeffects/lvm/lib/Bass/src/LVDBE_Init.c +++ b/media/libeffects/lvm/lib/Bass/src/LVDBE_Init.c @@ -232,6 +232,10 @@ LVDBE_ReturnStatus_en LVDBE_Init(LVDBE_Handle_t *phInstance, pInstance->pData->AGCInstance.AGC_Gain = pInstance->pData->AGCInstance.AGC_MaxGain; /* Default to the bass boost setting */ + // initialize the mixer with some fixes values since otherwise LVDBE_SetVolume ends up + // reading uninitialized data + pMixer_Instance = &pInstance->pData->BypassVolume; + LVC_Mixer_Init(&pMixer_Instance->MixerStream[0],0x00007FFF,0x00007FFF); /* * Initialise the volume @@ -242,7 +246,6 @@ LVDBE_ReturnStatus_en LVDBE_Init(LVDBE_Handle_t *phInstance, pInstance->pData->AGCInstance.Volume = pInstance->pData->AGCInstance.Target; /* Initialise as the target */ - pMixer_Instance = &pInstance->pData->BypassVolume; MixGain = LVC_Mixer_GetTarget(&pMixer_Instance->MixerStream[0]); LVC_Mixer_Init(&pMixer_Instance->MixerStream[0],MixGain,MixGain); diff --git a/media/libeffects/lvm/lib/Eq/src/LVEQNB_Init.c b/media/libeffects/lvm/lib/Eq/src/LVEQNB_Init.c index e83e515..c4767a8 100644 --- a/media/libeffects/lvm/lib/Eq/src/LVEQNB_Init.c +++ b/media/libeffects/lvm/lib/Eq/src/LVEQNB_Init.c @@ -264,6 +264,9 @@ LVEQNB_ReturnStatus_en LVEQNB_Init(LVEQNB_Handle_t *phInstance, MemSize = (pCapabilities->MaxBands * sizeof(LVEQNB_BandDef_t)); pInstance->pBandDefinitions = (LVEQNB_BandDef_t *)InstAlloc_AddMember(&AllocMem, MemSize); + // clear all the bands, setting their gain to 0, otherwise when applying new params, + // it will compare against uninitialized values + memset(pInstance->pBandDefinitions, 0, MemSize); MemSize = (pCapabilities->MaxBands * sizeof(LVEQNB_BiquadType_en)); pInstance->pBiquadType = (LVEQNB_BiquadType_en *)InstAlloc_AddMember(&AllocMem, MemSize); |