fix client pid for effects applied by audio policy
Test: Hangouts call, Play Music with and w/o effects
Change-Id: Ia9b20f94be667dd92e0497f8ef9c0dc0e95afe28
diff --git a/media/libaudioclient/IAudioFlinger.cpp b/media/libaudioclient/IAudioFlinger.cpp
index 65fdedb..31a18a4 100644
--- a/media/libaudioclient/IAudioFlinger.cpp
+++ b/media/libaudioclient/IAudioFlinger.cpp
@@ -716,6 +716,7 @@
audio_io_handle_t output,
audio_session_t sessionId,
const String16& opPackageName,
+ pid_t pid,
status_t *status,
int *id,
int *enabled)
@@ -737,6 +738,7 @@
data.writeInt32((int32_t) output);
data.writeInt32(sessionId);
data.writeString16(opPackageName);
+ data.writeInt32((int32_t) pid);
status_t lStatus = remote()->transact(CREATE_EFFECT, data, &reply);
if (lStatus != NO_ERROR) {
@@ -1294,12 +1296,14 @@
audio_io_handle_t output = (audio_io_handle_t) data.readInt32();
audio_session_t sessionId = (audio_session_t) data.readInt32();
const String16 opPackageName = data.readString16();
+ pid_t pid = (pid_t)data.readInt32();
+
status_t status = NO_ERROR;
int id = 0;
int enabled = 0;
sp<IEffect> effect = createEffect(&desc, client, priority, output, sessionId,
- opPackageName, &status, &id, &enabled);
+ opPackageName, pid, &status, &id, &enabled);
reply->writeInt32(status);
reply->writeInt32(id);
reply->writeInt32(enabled);