summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/omx/GraphicBufferSource.h
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2013-05-15 12:59:19 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-05-23 22:18:58 +0000
commitd030447b617105b31bf3013e5e4b39d422b53b77 (patch)
tree3fd684f2a58933a94692c3d23da22087d3da29ea /media/libstagefright/omx/GraphicBufferSource.h
parent599d83e4f2197968d77d3d106630179c88c8a6d7 (diff)
downloadframeworks_av-d030447b617105b31bf3013e5e4b39d422b53b77.zip
frameworks_av-d030447b617105b31bf3013e5e4b39d422b53b77.tar.gz
frameworks_av-d030447b617105b31bf3013e5e4b39d422b53b77.tar.bz2
stagefright: BufferProducer updates
Update BufferQueue and ConsumerBase users to new BufferQueue API, to allow BufferQueue slots to be reused. Buffer consumers generally now need to track the unique frameNumber belonging to each frame acquired if they are using BufferQueue directly. Otherwise, they can simply track the graphicBuffer. Change-Id: I30ee3158cf40fb10bbd085241646d5f1128ee480 Signed-off-by: Lajos Molnar <lajos@google.com> Related-to-bug: 7093648
Diffstat (limited to 'media/libstagefright/omx/GraphicBufferSource.h')
-rw-r--r--media/libstagefright/omx/GraphicBufferSource.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/media/libstagefright/omx/GraphicBufferSource.h b/media/libstagefright/omx/GraphicBufferSource.h
index 562d342..8c6b470 100644
--- a/media/libstagefright/omx/GraphicBufferSource.h
+++ b/media/libstagefright/omx/GraphicBufferSource.h
@@ -104,6 +104,13 @@ private:
// (mGraphicBuffer == NULL) or in use by the codec.
struct CodecBuffer {
OMX_BUFFERHEADERTYPE* mHeader;
+
+ // buffer producer's frame-number for buffer
+ uint64_t mFrameNumber;
+
+ // buffer producer's buffer slot for buffer
+ int mBuf;
+
sp<GraphicBuffer> mGraphicBuffer;
};
@@ -130,8 +137,7 @@ private:
// Marks the mCodecBuffers entry as in-use, copies the GraphicBuffer
// reference into the codec buffer, and submits the data to the codec.
- status_t submitBuffer_l(sp<GraphicBuffer>& graphicBuffer,
- int64_t timestampUsec, int cbi);
+ status_t submitBuffer_l(const BufferQueue::BufferItem &item, int cbi);
// Submits an empty buffer, with the EOS flag set. Returns without
// doing anything if we don't have a codec buffer available.