Merge "libeffects: Fix LVDBE biquad instance creation"
diff --git a/media/libeffects/lvm/lib/Bass/src/LVDBE_Control.cpp b/media/libeffects/lvm/lib/Bass/src/LVDBE_Control.cpp
index 3fc9e95..9fe8116 100644
--- a/media/libeffects/lvm/lib/Bass/src/LVDBE_Control.cpp
+++ b/media/libeffects/lvm/lib/Bass/src/LVDBE_Control.cpp
@@ -277,13 +277,15 @@
/*
* Create biquad instance
*/
- pInstance->pHPFBiquad.reset(
- new android::audio_utils::BiquadFilter<LVM_FLOAT>(pParams->NrChannels));
-
+ if (pInstance->Params.NrChannels != pParams->NrChannels) {
+ pInstance->pHPFBiquad.reset(
+ new android::audio_utils::BiquadFilter<LVM_FLOAT>(pParams->NrChannels));
+ }
/*
* Update the filters
*/
if ((pInstance->Params.SampleRate != pParams->SampleRate) ||
+ (pInstance->Params.NrChannels != pParams->NrChannels) ||
(pInstance->Params.CentreFrequency != pParams->CentreFrequency)) {
LVDBE_SetFilters(pInstance, /* Instance pointer */
pParams); /* New parameters */
diff --git a/media/libeffects/lvm/lib/Bass/src/LVDBE_Init.cpp b/media/libeffects/lvm/lib/Bass/src/LVDBE_Init.cpp
index bbe7de0..b113f48 100644
--- a/media/libeffects/lvm/lib/Bass/src/LVDBE_Init.cpp
+++ b/media/libeffects/lvm/lib/Bass/src/LVDBE_Init.cpp
@@ -79,6 +79,7 @@
pInstance->Params.SampleRate = LVDBE_FS_8000;
pInstance->Params.VolumeControl = LVDBE_VOLUME_OFF;
pInstance->Params.VolumedB = 0;
+ pInstance->Params.NrChannels = FCC_2;
/*
* Create pointer to data and coef memory
@@ -91,7 +92,7 @@
* Create biquad instance
*/
pInstance->pHPFBiquad.reset(
- new android::audio_utils::BiquadFilter<LVM_FLOAT>(LVM_MAX_CHANNELS));
+ new android::audio_utils::BiquadFilter<LVM_FLOAT>(pInstance->Params.NrChannels));
pInstance->pBPFBiquad.reset(new android::audio_utils::BiquadFilter<LVM_FLOAT>(FCC_1));
/*