audiopolicy: effects: preprocessing session not attached on right input
Bug: 267799634
Test: make
When an audio record is using a preferred device, and when it attaches
an effect to its session, the effect may not be attached to the right input.
Change-Id: I9e80cfde000a8a46fd21b19c4588c631f8512e3a
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index e2d340b..3431177 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -791,6 +791,9 @@
status_t moveEffectChain_l(audio_session_t sessionId,
PlaybackThread *srcThread,
PlaybackThread *dstThread);
+ status_t moveEffectChain_l(audio_session_t sessionId,
+ RecordThread *srcThread,
+ RecordThread *dstThread);
status_t moveAuxEffectToIo(int EffectId,
const sp<PlaybackThread>& dstThread,
@@ -840,6 +843,9 @@
private:
std::vector< sp<IAfEffectModule> > purgeStaleEffects_l();
+ std::vector< sp<IAfEffectModule> > purgeOrphanEffectChains_l();
+ bool updateOrphanEffectChains_l(const sp<IAfEffectModule>& effect);
+
void broadcastParametersToRecordThreads_l(const String8& keyValuePairs);
void updateOutDevicesForRecordThreads_l(const DeviceDescriptorBaseVector& devices);
void forwardParametersToDownstreamPatches_l(