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

Skip to content
Commit 982a1b34 authored by Sidipotu Ashok's avatar Sidipotu Ashok Committed by Steve Kondik
Browse files

audioflinger: Enhance LPA-effect logic to handle rapid config.

-Issue:Rapid Config events cause pops/glitches, raw data
 playback.
-Rootcause1:Raw data leakage to DSP: applyEffectsOn() applies
 effects chunk by chunk in a loop, if effects change during
 this time the loop exits and this results in creation of
 a buffer in which part of it is effects processed and rest
 raw, this causes raw data to leak to DSP.
-RootCause2:Effectsthread directly works on the DSP buffers,
 while DSP is rendering from there, so that effect application
 is instantaneous and for this it gives the DSP buffers as
 output to effects chain, this means that all the effects in
 the chain update the DSP buffers one after the other, this
 can create unpredictable rendering patterns.
 RootCause1 and 2 combined seem to fragment memory with
 parts of it with effects and parts with raw data etc.
-Fix1:Dont update DSP mem unless the effects are applied
 completely on a buffer.
-Fix2:Effectschain will work on a temp scrath buffer
 instead of DSP mem and when effects are applied
 completely on this scrath buffer, memcpy this to DSP mem
 with this DSP mem is updated in one shot.
-Remove repetetive logs which clutter the logcat if
 msgs are enabled in audioflinger.

Change-Id: I9051e7b8531aa5c8cb3dcfafe0be3136a2cf0f9d
CRs-Fixed: 463880
parent b2254761
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment