From 26a6f37cc06b8014edcedbee8d5558ca7da9abe3 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Thu, 18 Jul 2013 22:25:55 -0700 Subject: [PATCH] make sure to reset the framenumber when a buffer is marked FREE Change-Id: Ic45929f35553de209801f74e8006fb1bf0b25b45 --- libs/gui/BufferQueue.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libs/gui/BufferQueue.cpp b/libs/gui/BufferQueue.cpp index cf8143135..73bd4888b 100644 --- a/libs/gui/BufferQueue.cpp +++ b/libs/gui/BufferQueue.cpp @@ -555,6 +555,9 @@ status_t BufferQueue::queueBuffer(int buf, // buffer slot currently queued is marked free if still tracked if (stillTracking(front)) { mSlots[front->mBuf].mBufferState = BufferSlot::FREE; + // reset the frame number of the freed buffer so that it is the first in + // line to be dequeued again. + mSlots[front->mBuf].mFrameNumber = 0; } // and we record the new buffer in the queued list *front = item;