diff options
Diffstat (limited to 'media/libstagefright/omx/GraphicBufferSource.cpp')
-rw-r--r-- | media/libstagefright/omx/GraphicBufferSource.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/media/libstagefright/omx/GraphicBufferSource.cpp b/media/libstagefright/omx/GraphicBufferSource.cpp index 31c6975..ac64685 100644 --- a/media/libstagefright/omx/GraphicBufferSource.cpp +++ b/media/libstagefright/omx/GraphicBufferSource.cpp @@ -836,13 +836,15 @@ void GraphicBufferSource::releaseBuffer( mConsumer->detachBuffer(id); mBufferSlot[id] = NULL; - mConsumer->attachBuffer(&id, buffer); - mConsumer->releaseBuffer( - id, 0, EGL_NO_DISPLAY, EGL_NO_SYNC_KHR, fence); + if (mConsumer->attachBuffer(&id, buffer) == OK) { + mConsumer->releaseBuffer( + id, 0, EGL_NO_DISPLAY, EGL_NO_SYNC_KHR, fence); + } } else { mConsumer->releaseBuffer( id, frameNum, EGL_NO_DISPLAY, EGL_NO_SYNC_KHR, fence); } + id = -1; // invalidate id mNumBufferAcquired--; } |