diff options
author | Lajos Molnar <lajos@google.com> | 2013-05-15 12:59:19 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-05-23 22:18:58 +0000 |
commit | d030447b617105b31bf3013e5e4b39d422b53b77 (patch) | |
tree | 3fd684f2a58933a94692c3d23da22087d3da29ea /media/libstagefright/omx/GraphicBufferSource.h | |
parent | 599d83e4f2197968d77d3d106630179c88c8a6d7 (diff) | |
download | frameworks_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.h | 10 |
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. |