diff options
author | Eric Laurent <elaurent@google.com> | 2010-01-25 08:49:09 -0800 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2010-01-25 14:00:10 -0800 |
commit | b72a396826da8bd934b9531bbd40f86d7509e71c (patch) | |
tree | 7eab39ce31d2609e7c0281e1f0541a8425d6e5e2 /media/libmedia/IAudioFlinger.cpp | |
parent | 6c009eb5ff5f999b1d9bc6978d3213f9f797903f (diff) | |
download | frameworks_av-b72a396826da8bd934b9531bbd40f86d7509e71c.zip frameworks_av-b72a396826da8bd934b9531bbd40f86d7509e71c.tar.gz frameworks_av-b72a396826da8bd934b9531bbd40f86d7509e71c.tar.bz2 |
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.
Diffstat (limited to 'media/libmedia/IAudioFlinger.cpp')
-rw-r--r-- | media/libmedia/IAudioFlinger.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp index 0eff205..fc42979 100644 --- a/media/libmedia/IAudioFlinger.cpp +++ b/media/libmedia/IAudioFlinger.cpp @@ -47,7 +47,7 @@ enum { SET_MODE, SET_MIC_MUTE, GET_MIC_MUTE, - IS_MUSIC_ACTIVE, + IS_STREAM_ACTIVE, SET_PARAMETERS, GET_PARAMETERS, REGISTER_CLIENT, @@ -286,11 +286,12 @@ public: return reply.readInt32(); } - virtual bool isMusicActive() const + virtual bool isStreamActive(int stream) const { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - remote()->transact(IS_MUSIC_ACTIVE, data, &reply); + data.writeInt32(stream); + remote()->transact(IS_STREAM_ACTIVE, data, &reply); return reply.readInt32(); } @@ -599,9 +600,10 @@ status_t BnAudioFlinger::onTransact( reply->writeInt32( getMicMute() ); return NO_ERROR; } break; - case IS_MUSIC_ACTIVE: { + case IS_STREAM_ACTIVE: { CHECK_INTERFACE(IAudioFlinger, data, reply); - reply->writeInt32( isMusicActive() ); + int stream = data.readInt32(); + reply->writeInt32( isStreamActive(stream) ); return NO_ERROR; } break; case SET_PARAMETERS: { |