From: Daniel Lam Date: Wed, 7 Mar 2012 22:11:29 +0000 (-0800) Subject: BufferQueue: fixed issues with buffer slots not available X-Git-Tag: android-x86-4.4-r1~1038^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c2c1f2f24cd70bdcf1958157bab38467bf0fdc71;p=android-x86%2Fframeworks-native.git BufferQueue: fixed issues with buffer slots not available Bug: 6120953 Change-Id: I61d97d650c8dee0a6d7c19f2f50aa92a5f159095 --- diff --git a/libs/gui/BufferQueue.cpp b/libs/gui/BufferQueue.cpp index 25a4c227ff..513a00e9ea 100644 --- a/libs/gui/BufferQueue.cpp +++ b/libs/gui/BufferQueue.cpp @@ -370,18 +370,13 @@ status_t BufferQueue::dequeueBuffer(int *outBuf, uint32_t w, uint32_t h, } } - // we're in synchronous mode and didn't find a buffer, we need to - // wait for some buffers to be consumed - tryAgain = mSynchronousMode && (foundSync == INVALID_BUFFER_SLOT); + // if no buffer is found, wait for a buffer to be released + tryAgain = found == INVALID_BUFFER_SLOT; if (tryAgain) { mDequeueCondition.wait(mMutex); } } - if (mSynchronousMode && found == INVALID_BUFFER_SLOT) { - // foundSync guaranteed to be != INVALID_BUFFER_SLOT - found = foundSync; - } if (found == INVALID_BUFFER_SLOT) { // This should not happen.