diff options
author | wjiang <wjiang@codeaurora.org> | 2014-04-29 15:52:44 +0800 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:24:27 -0600 |
commit | ab9bb1594982ad1affed948711d6f487e1c90271 (patch) | |
tree | 20b3dad3e645af300df3a055b24ecd93d7a62959 /media/libeffects/lvm/wrapper/Bundle/EffectBundle.h | |
parent | 20f360507591a3802dd40aa37888c12714118025 (diff) | |
download | frameworks_av-ab9bb1594982ad1affed948711d6f487e1c90271.zip frameworks_av-ab9bb1594982ad1affed948711d6f487e1c90271.tar.gz frameworks_av-ab9bb1594982ad1affed948711d6f487e1c90271.tar.bz2 |
libeffect: Fix enabled effect count calculation error
When switching from tunnel to arm effects, effect chain will be moved
from offload thread to mixer thread. During this procedure effect instance
is not destroyed, instead it's preserved and mounted onto new chain.
The migrant sequence is 1) disable instance -> 2) move to new effect
chain -> 3) enable instance again. However, the accumulated effect
enabled count is not decreased when effect instance is disabled.
As a result, LvmBundle_process() is only called once when Effect_process()
called twice, which causes input buffer get processed alternately and
glitch sound appears.
Change-Id: Idd3b8753a73694cc36617ed55b40fda93155abed
CRs-Fixed: 636353
Diffstat (limited to 'media/libeffects/lvm/wrapper/Bundle/EffectBundle.h')
-rw-r--r-- | media/libeffects/lvm/wrapper/Bundle/EffectBundle.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/media/libeffects/lvm/wrapper/Bundle/EffectBundle.h b/media/libeffects/lvm/wrapper/Bundle/EffectBundle.h index 9459b87..5fa5668 100644 --- a/media/libeffects/lvm/wrapper/Bundle/EffectBundle.h +++ b/media/libeffects/lvm/wrapper/Bundle/EffectBundle.h @@ -75,8 +75,8 @@ struct BundledEffectContext{ bool bVirtualizerTempDisabled; /* Flag for effect to be re-enabled */ audio_devices_t nOutputDevice; /* Output device for the effect */ audio_devices_t nVirtualizerForcedDevice; /* Forced device virtualization mode*/ - int NumberEffectsEnabled; /* Effects in this session */ int NumberEffectsCalled; /* Effects called so far */ + uint32_t EffectsBitMap; /* Effects enable bit mask */ bool firstVolume; /* No smoothing on first Vol change */ // Saved parameters for each effect */ // Bass Boost |