summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2015-03-09 12:00:30 -0700
committerGlenn Kasten <gkasten@google.com>2015-03-09 14:17:25 -0700
commitb46f394a85d704dd05287cf9bb77cf86e3c02a38 (patch)
treeb6f8c4c2d413ca71ef3b2ca0c5a32c97d7959979 /include
parent54a8a456c2b4b382b3ffe3d99e40703df79c0717 (diff)
downloadframeworks_av-b46f394a85d704dd05287cf9bb77cf86e3c02a38.zip
frameworks_av-b46f394a85d704dd05287cf9bb77cf86e3c02a38.tar.gz
frameworks_av-b46f394a85d704dd05287cf9bb77cf86e3c02a38.tar.bz2
AudioTrack::obtainBuffer() now returns number of non-contiguous frames
Change-Id: I1f61d7e3d057c3254babe456b4aa0f6a1809da55
Diffstat (limited to 'include')
-rw-r--r--include/media/AudioTrack.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/media/AudioTrack.h b/include/media/AudioTrack.h
index 8baad6b..3de0774 100644
--- a/include/media/AudioTrack.h
+++ b/include/media/AudioTrack.h
@@ -495,6 +495,13 @@ public:
* After filling these slots with data, the caller should release them with releaseBuffer().
* If the track buffer is not full, obtainBuffer() returns as many contiguous
* [empty slots for] frames as are available immediately.
+ *
+ * If nonContig is non-NULL, it is an output parameter that will be set to the number of
+ * additional non-contiguous frames that are predicted to be available immediately,
+ * if the client were to release the first frames and then call obtainBuffer() again.
+ * This value is only a prediction, and needs to be confirmed.
+ * It will be set to zero for an error return.
+ *
* If the track buffer is full and track is stopped, obtainBuffer() returns WOULD_BLOCK
* regardless of the value of waitCount.
* If the track buffer is full and track is not stopped, obtainBuffer() blocks with a
@@ -526,14 +533,17 @@ public:
* size actual number of bytes available
* raw pointer to the buffer
*/
-
/* FIXME Deprecated public API for TRANSFER_OBTAIN mode */
- status_t obtainBuffer(Buffer* audioBuffer, int32_t waitCount)
+ status_t obtainBuffer(Buffer* audioBuffer, int32_t waitCount,
+ size_t *nonContig = NULL)
__attribute__((__deprecated__));
private:
/* If nonContig is non-NULL, it is an output parameter that will be set to the number of
- * additional non-contiguous frames that are available immediately.
+ * additional non-contiguous frames that are predicted to be available immediately,
+ * if the client were to release the first frames and then call obtainBuffer() again.
+ * This value is only a prediction, and needs to be confirmed.
+ * It will be set to zero for an error return.
* FIXME We could pass an array of Buffers instead of only one Buffer to obtainBuffer(),
* in case the requested amount of frames is in two or more non-contiguous regions.
* FIXME requested and elapsed are both relative times. Consider changing to absolute time.