summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/omx
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2015-07-01 21:00:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-07-01 21:01:00 +0000
commitdfad5454e0caf46f8732f1415d3b9a76f2a1242e (patch)
treeba10126cafdc2070d70ea39447cacb68a84201d7 /media/libstagefright/omx
parent49605e8ab171a2b1f474645d632d3982f5f7b8e6 (diff)
parent264bac95912efe121d6a60026612617f04f42966 (diff)
downloadframeworks_av-dfad5454e0caf46f8732f1415d3b9a76f2a1242e.zip
frameworks_av-dfad5454e0caf46f8732f1415d3b9a76f2a1242e.tar.gz
frameworks_av-dfad5454e0caf46f8732f1415d3b9a76f2a1242e.tar.bz2
Merge "stagefright: prevent allocating stale buffers for OMX decoders" into mnc-dev
Diffstat (limited to 'media/libstagefright/omx')
-rw-r--r--media/libstagefright/omx/GraphicBufferSource.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/media/libstagefright/omx/GraphicBufferSource.cpp b/media/libstagefright/omx/GraphicBufferSource.cpp
index a424819..1a7dc9d 100644
--- a/media/libstagefright/omx/GraphicBufferSource.cpp
+++ b/media/libstagefright/omx/GraphicBufferSource.cpp
@@ -843,13 +843,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--;
}