summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/omx
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-01-17 16:29:59 -0800
committerChong Zhang <chz@google.com>2014-01-28 11:57:38 -0800
commit49270665e7a20cd120724fc388da8b166ff0b4f1 (patch)
tree82dec8714e89ef1dcee94641bed0123899e9ff5c /media/libstagefright/omx
parent3136b33e92a870496dcdd949768751efa4b37106 (diff)
downloadframeworks_av-49270665e7a20cd120724fc388da8b166ff0b4f1.zip
frameworks_av-49270665e7a20cd120724fc388da8b166ff0b4f1.tar.gz
frameworks_av-49270665e7a20cd120724fc388da8b166ff0b4f1.tar.bz2
save mGraphicBuffer pointer even when we're suspended
Bug: 12609966 Change-Id: Ifd41fd973876da69039113fcaeacdccf39472b37
Diffstat (limited to 'media/libstagefright/omx')
-rw-r--r--media/libstagefright/omx/GraphicBufferSource.cpp6
1 files changed, 6 insertions, 0 deletions
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);
}