summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IAudioFlinger.cpp
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2010-01-25 08:49:09 -0800
committerEric Laurent <elaurent@google.com>2010-01-25 14:00:10 -0800
commitb72a396826da8bd934b9531bbd40f86d7509e71c (patch)
tree7eab39ce31d2609e7c0281e1f0541a8425d6e5e2 /media/libmedia/IAudioFlinger.cpp
parent6c009eb5ff5f999b1d9bc6978d3213f9f797903f (diff)
downloadframeworks_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.cpp12
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: {