diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2015-05-01 18:34:17 -0700 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2015-05-05 02:04:33 +0000 |
commit | 4cb668392ee0433462251afbee109405c6efacc8 (patch) | |
tree | 50e324bd1af8951136ec9b7c4a7538e514490e80 /media/libmedia/IAudioFlinger.cpp | |
parent | 1de1e25cba872bd4c077c2e394f8ca9c70b65856 (diff) | |
download | frameworks_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.cpp | 5 |
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, ¬ificationFrames, cblk, buffers, &status); + clientUid, &sessionId, ¬ificationFrames, cblk, buffers, &status); LOG_ALWAYS_FATAL_IF((record != 0) != (status == NO_ERROR)); reply->writeInt64(frameCount); reply->writeInt32(flags); |