OSDN Git Service

BufferQueue: Add bufferReplaced flag in QueueBufferOutput
authorShuzhen Wang <shuzhenwang@google.com>
Thu, 19 Jan 2017 07:02:36 +0000 (23:02 -0800)
committerShuzhen Wang <shuzhenwang@google.com>
Fri, 20 Jan 2017 19:26:13 +0000 (11:26 -0800)
commit22f842ba04c32cef2faf855dc304eb0ab131b9ec
treedd6cc0fb014748838c5c39b1b91480999514b96c
parent90b25ed559f3d04777dbbc195ad5c95287990bf7
BufferQueue: Add bufferReplaced flag in QueueBufferOutput

For async buffer queue, when queueBuffer overwrites a previously queued
buffer, because consumer won't be able to acquire the overwritten
buffer, onBufferReleased isn't triggered either.

This makes it difficult to track which buffer in the buffer queue
becomes free other than calling dequeueBuffer(). Adding a flag in
QueueBufferOutput addresses this issue.

Test: TestBufferReplacedInQueueBuffer in BufferQueue_tests
Bug: 34481539
Change-Id: Ic7f4be2d3f9691dd6b007a450240614c0c420f0d
include/gui/IGraphicBufferProducer.h
libs/gui/BufferQueueProducer.cpp
libs/gui/IGraphicBufferProducer.cpp
libs/gui/tests/BufferQueue_test.cpp