summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2014-05-07 09:16:09 -0700
committerGlenn Kasten <gkasten@google.com>2014-05-09 11:32:43 -0700
commitd776ac63ce9c013c9626226e43f7db606e035838 (patch)
treef75ca450359caa5a69b4124399d19d0522046826 /include
parent0c5b910e6eb2b9b2a622ccc0dd66e8fcae3eb28b (diff)
downloadframeworks_av-d776ac63ce9c013c9626226e43f7db606e035838.zip
frameworks_av-d776ac63ce9c013c9626226e43f7db606e035838.tar.gz
frameworks_av-d776ac63ce9c013c9626226e43f7db606e035838.tar.bz2
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
Diffstat (limited to 'include')
-rw-r--r--include/media/AudioRecord.h4
-rw-r--r--include/media/IAudioFlinger.h2
2 files changed, 5 insertions, 1 deletions
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<IAudioRecord> mAudioRecord;
sp<IMemory> mCblkMemory;
audio_track_cblk_t* mCblk; // re-load after mLock.unlock()
+ sp<IMemory> 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<IMemory>& cblk,
+ sp<IMemory>& buffers, // return value 0 means it follows cblk
status_t *status) = 0;
/* query the audio hardware state. This state never changes,