From 23f25cda0c73f8eb878844dea32fb0bd419edca2 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Mon, 25 Jan 2010 08:49:09 -0800 Subject: Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active. Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream type is playing. Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger. --- libs/audioflinger/AudioFlinger.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'libs/audioflinger/AudioFlinger.cpp') diff --git a/libs/audioflinger/AudioFlinger.cpp b/libs/audioflinger/AudioFlinger.cpp index ecfe1e0..5c58603 100644 --- a/libs/audioflinger/AudioFlinger.cpp +++ b/libs/audioflinger/AudioFlinger.cpp @@ -544,11 +544,11 @@ bool AudioFlinger::streamMute(int stream) const return mStreamTypes[stream].mute; } -bool AudioFlinger::isMusicActive() const +bool AudioFlinger::isStreamActive(int stream) const { Mutex::Autolock _l(mLock); for (uint32_t i = 0; i < mPlaybackThreads.size(); i++) { - if (mPlaybackThreads.valueAt(i)->isMusicActive()) { + if (mPlaybackThreads.valueAt(i)->isStreamActive(stream)) { return true; } } @@ -1071,7 +1071,7 @@ bool AudioFlinger::PlaybackThread::streamMute(int stream) const return mStreamTypes[stream].mute; } -bool AudioFlinger::PlaybackThread::isMusicActive() const +bool AudioFlinger::PlaybackThread::isStreamActive(int stream) const { Mutex::Autolock _l(mLock); size_t count = mActiveTracks.size(); @@ -1079,7 +1079,7 @@ bool AudioFlinger::PlaybackThread::isMusicActive() const sp t = mActiveTracks[i].promote(); if (t == 0) continue; Track* const track = t.get(); - if (t->type() == AudioSystem::MUSIC) + if (t->type() == stream) return true; } return false; -- cgit v1.1