diff options
author | Glenn Kasten <gkasten@google.com> | 2011-02-04 13:54:26 -0800 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2011-02-10 14:37:42 -0800 |
commit | 8b4b97a14ad9b5b982d8fe92755efabec8ad0076 (patch) | |
tree | 1cf4a2979096202ccfe5ff7399b9d37bfaccc3dc /media/libmedia/IAudioPolicyService.cpp | |
parent | 138a54cb20d8ba8253b404a76a53fe88f0d43963 (diff) | |
download | frameworks_base-8b4b97a14ad9b5b982d8fe92755efabec8ad0076.zip frameworks_base-8b4b97a14ad9b5b982d8fe92755efabec8ad0076.tar.gz frameworks_base-8b4b97a14ad9b5b982d8fe92755efabec8ad0076.tar.bz2 |
Bug 3352047 Wrong message when adjusting volume
Add hidden AudioManager.getDevicesForStream and output device codes.
Change-Id: I4d1c1d3b6a077cd117720817d1f733dda557b947
Diffstat (limited to 'media/libmedia/IAudioPolicyService.cpp')
-rw-r--r-- | media/libmedia/IAudioPolicyService.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/media/libmedia/IAudioPolicyService.cpp b/media/libmedia/IAudioPolicyService.cpp index 457f7ed..b89a278 100644 --- a/media/libmedia/IAudioPolicyService.cpp +++ b/media/libmedia/IAudioPolicyService.cpp @@ -49,7 +49,8 @@ enum { GET_OUTPUT_FOR_EFFECT, REGISTER_EFFECT, UNREGISTER_EFFECT, - IS_STREAM_ACTIVE + IS_STREAM_ACTIVE, + GET_DEVICES_FOR_STREAM, }; class BpAudioPolicyService : public BpInterface<IAudioPolicyService> @@ -263,6 +264,15 @@ public: return reply.readInt32(); } + virtual uint32_t getDevicesForStream(AudioSystem::stream_type stream) + { + Parcel data, reply; + data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); + data.writeInt32(static_cast <uint32_t>(stream)); + remote()->transact(GET_DEVICES_FOR_STREAM, data, &reply); + return (uint32_t) reply.readInt32(); + } + virtual audio_io_handle_t getOutputForEffect(effect_descriptor_t *desc) { Parcel data, reply; @@ -495,6 +505,14 @@ status_t BnAudioPolicyService::onTransact( return NO_ERROR; } break; + case GET_DEVICES_FOR_STREAM: { + CHECK_INTERFACE(IAudioPolicyService, data, reply); + AudioSystem::stream_type stream = + static_cast <AudioSystem::stream_type>(data.readInt32()); + reply->writeInt32(static_cast <int>(getDevicesForStream(stream))); + return NO_ERROR; + } break; + case GET_OUTPUT_FOR_EFFECT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); effect_descriptor_t desc; |