summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IAudioPolicyService.cpp
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2013-02-04 16:26:02 -0800
committerJean-Michel Trivi <jmtrivi@google.com>2013-02-11 10:13:00 -0800
commit272ab546940054ad7991bef4b3a36f15175721cd (patch)
tree32635746bbb3c6f4b4297754d0d388fae41c6574 /media/libmedia/IAudioPolicyService.cpp
parent513b8b238caa52f8ddf5c85109dbf362c515185f (diff)
downloadframeworks_av-272ab546940054ad7991bef4b3a36f15175721cd.zip
frameworks_av-272ab546940054ad7991bef4b3a36f15175721cd.tar.gz
frameworks_av-272ab546940054ad7991bef4b3a36f15175721cd.tar.bz2
Add support for querying if a stream is active remotely
Bug 7485803 Change-Id: I0744374f130fd2dd0714102354cffed2fa915361
Diffstat (limited to 'media/libmedia/IAudioPolicyService.cpp')
-rw-r--r--media/libmedia/IAudioPolicyService.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/media/libmedia/IAudioPolicyService.cpp b/media/libmedia/IAudioPolicyService.cpp
index 769deae..386c351 100644
--- a/media/libmedia/IAudioPolicyService.cpp
+++ b/media/libmedia/IAudioPolicyService.cpp
@@ -55,7 +55,8 @@ enum {
IS_SOURCE_ACTIVE,
GET_DEVICES_FOR_STREAM,
QUERY_DEFAULT_PRE_PROCESSING,
- SET_EFFECT_ENABLED
+ SET_EFFECT_ENABLED,
+ IS_STREAM_ACTIVE_REMOTELY
};
class BpAudioPolicyService : public BpInterface<IAudioPolicyService>
@@ -330,6 +331,16 @@ public:
return reply.readInt32();
}
+ virtual bool isStreamActiveRemotely(audio_stream_type_t stream, uint32_t inPastMs) const
+ {
+ Parcel data, reply;
+ data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
+ data.writeInt32((int32_t) stream);
+ data.writeInt32(inPastMs);
+ remote()->transact(IS_STREAM_ACTIVE_REMOTELY, data, &reply);
+ return reply.readInt32();
+ }
+
virtual bool isSourceActive(audio_source_t source) const
{
Parcel data, reply;
@@ -605,6 +616,14 @@ status_t BnAudioPolicyService::onTransact(
return NO_ERROR;
} break;
+ case IS_STREAM_ACTIVE_REMOTELY: {
+ CHECK_INTERFACE(IAudioPolicyService, data, reply);
+ audio_stream_type_t stream = (audio_stream_type_t) data.readInt32();
+ uint32_t inPastMs = (uint32_t)data.readInt32();
+ reply->writeInt32( isStreamActiveRemotely((audio_stream_type_t) stream, inPastMs) );
+ return NO_ERROR;
+ } break;
+
case IS_SOURCE_ACTIVE: {
CHECK_INTERFACE(IAudioPolicyService, data, reply);
audio_source_t source = (audio_source_t) data.readInt32();