summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IAudioFlinger.cpp
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2015-05-01 18:34:17 -0700
committerJean-Michel Trivi <jmtrivi@google.com>2015-05-05 02:04:33 +0000
commit4cb668392ee0433462251afbee109405c6efacc8 (patch)
tree50e324bd1af8951136ec9b7c4a7538e514490e80 /media/libmedia/IAudioFlinger.cpp
parent1de1e25cba872bd4c077c2e394f8ca9c70b65856 (diff)
downloadframeworks_av-4cb668392ee0433462251afbee109405c6efacc8.zip
frameworks_av-4cb668392ee0433462251afbee109405c6efacc8.tar.gz
frameworks_av-4cb668392ee0433462251afbee109405c6efacc8.tar.bz2
AudioRecord keeps track of UID
Bug 20832981 Change-Id: If5f3c61fae02d86b9d6fdf411711f854fd56c77d
Diffstat (limited to 'media/libmedia/IAudioFlinger.cpp')
-rw-r--r--media/libmedia/IAudioFlinger.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp
index d48532e..d722fe9 100644
--- a/media/libmedia/IAudioFlinger.cpp
+++ b/media/libmedia/IAudioFlinger.cpp
@@ -178,6 +178,7 @@ public:
size_t *pFrameCount,
track_flags_t *flags,
pid_t tid,
+ int clientUid,
int *sessionId,
size_t *notificationFrames,
sp<IMemory>& cblk,
@@ -197,6 +198,7 @@ public:
track_flags_t lFlags = flags != NULL ? *flags : (track_flags_t) TRACK_DEFAULT;
data.writeInt32(lFlags);
data.writeInt32((int32_t) tid);
+ data.writeInt32((int32_t) clientUid);
int lSessionId = AUDIO_SESSION_ALLOCATE;
if (sessionId != NULL) {
lSessionId = *sessionId;
@@ -958,6 +960,7 @@ status_t BnAudioFlinger::onTransact(
size_t frameCount = data.readInt64();
track_flags_t flags = (track_flags_t) data.readInt32();
pid_t tid = (pid_t) data.readInt32();
+ int clientUid = data.readInt32();
int sessionId = data.readInt32();
size_t notificationFrames = data.readInt64();
sp<IMemory> cblk;
@@ -965,7 +968,7 @@ status_t BnAudioFlinger::onTransact(
status_t status;
sp<IAudioRecord> record = openRecord(input,
sampleRate, format, channelMask, opPackageName, &frameCount, &flags, tid,
- &sessionId, &notificationFrames, cblk, buffers, &status);
+ clientUid, &sessionId, &notificationFrames, cblk, buffers, &status);
LOG_ALWAYS_FATAL_IF((record != 0) != (status == NO_ERROR));
reply->writeInt64(frameCount);
reply->writeInt32(flags);