From 054d9d3dea1390294650ac704acb4aa0a0731217 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Fri, 24 Apr 2015 08:48:48 -0700 Subject: PatchPanel: do not use setParameters() internally. Do not use setParameters() with AUDIO_PARAMETER_STREAM_ROUTING when communicating the input or output device selected to playback or record threads, even for HAL version less than 3.0. Use createAudioPatch()/releaseAudioPatch() instead. This allows to send more information on the output or input device being selected. Also fix a regression introduced in L where the output device selection was not communicated to effects on record threads. Change-Id: I4780ada53241d56694b005c992171e173c3bf8f5 --- services/audioflinger/Threads.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'services/audioflinger/Threads.h') diff --git a/services/audioflinger/Threads.h b/services/audioflinger/Threads.h index b7c1ed1..2c514f8 100644 --- a/services/audioflinger/Threads.h +++ b/services/audioflinger/Threads.h @@ -865,6 +865,10 @@ protected: virtual void threadLoop_removeTracks(const Vector< sp >& tracksToRemove); virtual uint32_t correctLatency_l(uint32_t latency) const; + virtual status_t createAudioPatch_l(const struct audio_patch *patch, + audio_patch_handle_t *handle); + virtual status_t releaseAudioPatch_l(const audio_patch_handle_t handle); + AudioMixer* mAudioMixer; // normal mixer private: // one-time initialization, no locks required -- cgit v1.1