From 1c608ab33acab82d4a87f1abedcc99a623d1b53a Mon Sep 17 00:00:00 2001 From: Chong Zhang Date: Fri, 17 Jan 2014 16:29:59 -0800 Subject: save mGraphicBuffer pointer even when we're suspended Bug: 12609966 Change-Id: Ifd41fd973876da69039113fcaeacdccf39472b37 (cherry picked from commit 49270665e7a20cd120724fc388da8b166ff0b4f1) --- media/libstagefright/omx/GraphicBufferSource.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'media/libstagefright/omx') diff --git a/media/libstagefright/omx/GraphicBufferSource.cpp b/media/libstagefright/omx/GraphicBufferSource.cpp index b8970ad..7492577 100644 --- a/media/libstagefright/omx/GraphicBufferSource.cpp +++ b/media/libstagefright/omx/GraphicBufferSource.cpp @@ -609,6 +609,12 @@ void GraphicBufferSource::onFrameAvailable() { BufferQueue::BufferItem item; status_t err = mBufferQueue->acquireBuffer(&item, 0); if (err == OK) { + // If this is the first time we're seeing this buffer, add it to our + // slot table. + if (item.mGraphicBuffer != NULL) { + ALOGV("fillCodecBuffer_l: setting mBufferSlot %d", item.mBuf); + mBufferSlot[item.mBuf] = item.mGraphicBuffer; + } mBufferQueue->releaseBuffer(item.mBuf, item.mFrameNumber, EGL_NO_DISPLAY, EGL_NO_SYNC_KHR, item.mFence); } -- cgit v1.1