summaryrefslogtreecommitdiffstats
path: root/services/audioflinger
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-11-30 15:14:47 -0800
committerEric Laurent <elaurent@google.com>2014-12-09 15:47:19 -0800
commit275e8e9de2e11b4b344f5a201f1f0e51fda02d9c (patch)
treec22e1c0b8541aa04fd6c8d803e4fa6704a84e6e2 /services/audioflinger
parent82a69ea8b090d57bff5e02774688b546a711bbb8 (diff)
downloadframeworks_av-275e8e9de2e11b4b344f5a201f1f0e51fda02d9c.zip
frameworks_av-275e8e9de2e11b4b344f5a201f1f0e51fda02d9c.tar.gz
frameworks_av-275e8e9de2e11b4b344f5a201f1f0e51fda02d9c.tar.bz2
audio policy: add support for custom mixes
Add support for custom mixes in AudioPolicyManager. Two methods are added to register or unregister a list of custom mixes with their attributes and format. getOutputForAttr() and getInputForAttr() first look for a match in registered mixes before defaulting to normal output/input selection Remote submix device connection disconnection now takes address into account to identify the correspnoding custom mix. Bug: 16009464. Change-Id: I3f1c2a485a0fb71b1f984ed0adc9b68aa971e408
Diffstat (limited to 'services/audioflinger')
-rw-r--r--services/audioflinger/Threads.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index dab6d91..1c3cf5d 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -2180,7 +2180,13 @@ void AudioFlinger::PlaybackThread::threadLoop_drain()
void AudioFlinger::PlaybackThread::threadLoop_exit()
{
- // Default implementation has nothing to do
+ {
+ Mutex::Autolock _l(mLock);
+ for (size_t i = 0; i < mTracks.size(); i++) {
+ sp<Track> track = mTracks[i];
+ track->invalidate();
+ }
+ }
}
/*