summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IAudioFlinger.cpp
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2014-07-03 12:23:29 -0700
committerGlenn Kasten <gkasten@google.com>2014-07-03 16:28:41 -0700
commit7df8c0b799d8f52d6386e03313286dbd7d5cdc7c (patch)
treee87404b99042b2c21ffcc0c34ac397ae14b4c2d4 /media/libmedia/IAudioFlinger.cpp
parent7c6f87856c0880ee39c2107a0fc3c9b41f8c195c (diff)
downloadframeworks_av-7df8c0b799d8f52d6386e03313286dbd7d5cdc7c.zip
frameworks_av-7df8c0b799d8f52d6386e03313286dbd7d5cdc7c.tar.gz
frameworks_av-7df8c0b799d8f52d6386e03313286dbd7d5cdc7c.tar.bz2
IAudioFlinger::openRecord now suggests notificationFrames
Change-Id: I08885cc381d03c522a23289e74f0e1ed46563863
Diffstat (limited to 'media/libmedia/IAudioFlinger.cpp')
-rw-r--r--media/libmedia/IAudioFlinger.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp
index 687fa76..5cf42f7 100644
--- a/media/libmedia/IAudioFlinger.cpp
+++ b/media/libmedia/IAudioFlinger.cpp
@@ -175,6 +175,7 @@ public:
track_flags_t *flags,
pid_t tid,
int *sessionId,
+ size_t *notificationFrames,
sp<IMemory>& cblk,
sp<IMemory>& buffers,
status_t *status)
@@ -214,6 +215,10 @@ public:
if (sessionId != NULL) {
*sessionId = lSessionId;
}
+ size_t lNotificationFrames = (size_t) reply.readInt64();
+ if (notificationFrames != NULL) {
+ *notificationFrames = lNotificationFrames;
+ }
lStatus = reply.readInt32();
record = interface_cast<IAudioRecord>(reply.readStrongBinder());
cblk = interface_cast<IMemory>(reply.readStrongBinder());
@@ -959,16 +964,19 @@ status_t BnAudioFlinger::onTransact(
track_flags_t flags = (track_flags_t) data.readInt32();
pid_t tid = (pid_t) data.readInt32();
int sessionId = data.readInt32();
+ size_t notificationFrames = 0;
sp<IMemory> cblk;
sp<IMemory> buffers;
status_t status;
sp<IAudioRecord> record = openRecord(input,
sampleRate, format, channelMask, &frameCount, &flags, tid, &sessionId,
+ &notificationFrames,
cblk, buffers, &status);
LOG_ALWAYS_FATAL_IF((record != 0) != (status == NO_ERROR));
reply->writeInt64(frameCount);
reply->writeInt32(flags);
reply->writeInt32(sessionId);
+ reply->writeInt64(notificationFrames);
reply->writeInt32(status);
reply->writeStrongBinder(record->asBinder());
reply->writeStrongBinder(cblk->asBinder());