diff options
author | Eric Laurent <elaurent@google.com> | 2009-07-28 08:44:33 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2009-08-07 00:27:19 -0700 |
commit | ddb78e7753be03937ad57ce7c3c842c52bdad65e (patch) | |
tree | a1f4d8105448525973897933a3494dd4d439274c /media/libmedia/IAudioFlingerClient.cpp | |
parent | 4c35e2c59afa28f9ed3fab1788570ef933f29b1a (diff) | |
download | frameworks_base-ddb78e7753be03937ad57ce7c3c842c52bdad65e.zip frameworks_base-ddb78e7753be03937ad57ce7c3c842c52bdad65e.tar.gz frameworks_base-ddb78e7753be03937ad57ce7c3c842c52bdad65e.tar.bz2 |
Fix issue 2001214: AudioFlinger and AudioPolicyService interfaces should not use pointers as handles to inputs and outputs.
Use integers instead of void* as input/output handles at IAudioFlinger and IAudioPolicyService interfaces.
AudioFlinger maintains an always increasing count of opened inputs or outputs as unique ID.
Diffstat (limited to 'media/libmedia/IAudioFlingerClient.cpp')
-rw-r--r-- | media/libmedia/IAudioFlingerClient.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/media/libmedia/IAudioFlingerClient.cpp b/media/libmedia/IAudioFlingerClient.cpp index eaae977..3900de4 100644 --- a/media/libmedia/IAudioFlingerClient.cpp +++ b/media/libmedia/IAudioFlingerClient.cpp @@ -39,12 +39,12 @@ public: { } - void ioConfigChanged(int event, void *param1, void *param2) + void ioConfigChanged(int event, int ioHandle, void *param2) { Parcel data, reply; data.writeInterfaceToken(IAudioFlingerClient::getInterfaceDescriptor()); data.writeInt32(event); - data.write(¶m1, sizeof(void *)); + data.writeInt32(ioHandle); if (event == AudioSystem::STREAM_CONFIG_CHANGED) { uint32_t stream = *(uint32_t *)param2; LOGV("ioConfigChanged stream %d", stream); @@ -72,11 +72,10 @@ status_t BnAudioFlingerClient::onTransact( case IO_CONFIG_CHANGED: { CHECK_INTERFACE(IAudioFlingerClient, data, reply); int event = data.readInt32(); - void *param1; + int ioHandle = data.readInt32(); void *param2 = 0; AudioSystem::OutputDescriptor desc; uint32_t stream; - data.read(¶m1, sizeof(void *)); if (event == AudioSystem::STREAM_CONFIG_CHANGED) { stream = data.readInt32(); param2 = &stream; @@ -89,7 +88,7 @@ status_t BnAudioFlingerClient::onTransact( desc.latency = data.readInt32(); param2 = &desc; } - ioConfigChanged(event, param1, param2); + ioConfigChanged(event, ioHandle, param2); return NO_ERROR; } break; default: |