From d776ac63ce9c013c9626226e43f7db606e035838 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Wed, 7 May 2014 09:16:09 -0700 Subject: IAudioFlinger::openRecord returns IMemory(s) openRecord() now explicitly returns the control block and data buffer as separate IMemory references. If the IMemory for data buffer is 0, this means it immediately follows the control block. Change-Id: Ic098f88f0e037f8fbe30006689e18cacacf09d06 --- include/media/AudioRecord.h | 4 +++- include/media/IAudioFlinger.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/media/AudioRecord.h b/include/media/AudioRecord.h index b3c44a8..6a68c94 100644 --- a/include/media/AudioRecord.h +++ b/include/media/AudioRecord.h @@ -490,10 +490,12 @@ private: int mSessionId; transfer_type mTransfer; - // Next 4 fields may be changed if IAudioRecord is re-created, but always != 0 + // Next 5 fields may be changed if IAudioRecord is re-created, but always != 0 + // provided the initial set() was successful sp mAudioRecord; sp mCblkMemory; audio_track_cblk_t* mCblk; // re-load after mLock.unlock() + sp mBufferMemory; audio_io_handle_t mInput; // returned by AudioSystem::getInput() int mPreviousPriority; // before start() diff --git a/include/media/IAudioFlinger.h b/include/media/IAudioFlinger.h index 9101f06..7db6a48 100644 --- a/include/media/IAudioFlinger.h +++ b/include/media/IAudioFlinger.h @@ -88,6 +88,8 @@ public: track_flags_t *flags, pid_t tid, // -1 means unused, otherwise must be valid non-0 int *sessionId, + sp& cblk, + sp& buffers, // return value 0 means it follows cblk status_t *status) = 0; /* query the audio hardware state. This state never changes, -- cgit v1.1