Convert IEffect and IEffectClient to AIDL
This change replaces the manually-parceled IEffect and IEffectClient
with AIDL definitions.
In addition, this includes a small library that facilitates shared
memory regions over AIDL.
Bug: 160253486
Test: Ran effects-related CTS tests. Manual verification of basic
audio functionality on Sargo.
Change-Id: I5a9c5f2f24c10072ad5067acc71aa30581af41c1
diff --git a/media/libaudioclient/IAudioFlinger.cpp b/media/libaudioclient/IAudioFlinger.cpp
index 6d79aba..225713a 100644
--- a/media/libaudioclient/IAudioFlinger.cpp
+++ b/media/libaudioclient/IAudioFlinger.cpp
@@ -653,9 +653,9 @@
return NO_ERROR;
}
- virtual sp<IEffect> createEffect(
+ virtual sp<media::IEffect> createEffect(
effect_descriptor_t *pDesc,
- const sp<IEffectClient>& client,
+ const sp<media::IEffectClient>& client,
int32_t priority,
audio_io_handle_t output,
audio_session_t sessionId,
@@ -668,7 +668,7 @@
int *enabled)
{
Parcel data, reply;
- sp<IEffect> effect;
+ sp<media::IEffect> effect;
if (pDesc == NULL) {
if (status != NULL) {
*status = BAD_VALUE;
@@ -705,7 +705,7 @@
if (enabled != NULL) {
*enabled = tmp;
}
- effect = interface_cast<IEffect>(reply.readStrongBinder());
+ effect = interface_cast<media::IEffect>(reply.readStrongBinder());
reply.read(pDesc, sizeof(effect_descriptor_t));
}
if (status != NULL) {
@@ -1386,7 +1386,8 @@
if (data.read(&desc, sizeof(effect_descriptor_t)) != NO_ERROR) {
ALOGE("b/23905951");
}
- sp<IEffectClient> client = interface_cast<IEffectClient>(data.readStrongBinder());
+ sp<media::IEffectClient> client =
+ interface_cast<media::IEffectClient>(data.readStrongBinder());
int32_t priority = data.readInt32();
audio_io_handle_t output = (audio_io_handle_t) data.readInt32();
audio_session_t sessionId = (audio_session_t) data.readInt32();
@@ -1402,8 +1403,8 @@
int id = 0;
int enabled = 0;
- sp<IEffect> effect = createEffect(&desc, client, priority, output, sessionId, device,
- opPackageName, pid, probe, &status, &id, &enabled);
+ sp<media::IEffect> effect = createEffect(&desc, client, priority, output, sessionId,
+ device, opPackageName, pid, probe, &status, &id, &enabled);
reply->writeInt32(status);
reply->writeInt32(id);
reply->writeInt32(enabled);