History log of /frameworks/native/libs/gui/BufferQueueConsumer.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
245cc5b57da46d5852aa820be2a96f37425b3337 19-Apr-2016 Pablo Ceballos <pceballos@google.com> BQ: Avoid unnecessary calls to consumer listener

Try to avoid unnecessary calls to the consumer listener's
onBuffersReleased() since they can potentially deadlock.

Bug 28254168

Change-Id: Ib064e5ebe1403a1028589342b3c33e6f40bb54a9
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
3559fbf93801e2c0d9d8fb246fb9b867a361b464 17-Mar-2016 Pablo Ceballos <pceballos@google.com> Rename single buffer mode to shared buffer mode

Change-Id: Id43d0737d9367981644e498942ebc0077d61038c
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
4782b268d54d737294de7b51bdff4ecda2f1c1f0 02-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Revert "Partial revert of "Fix Surface slot caching"""" into nyc-dev
3827379b2e414b4c96793dd3555302638db02562 02-Mar-2016 Pablo Ceballos <pceballos@google.com> Revert "Revert "Partial revert of "Fix Surface slot caching"""

This reverts commit 16c9c304a33af36faa352d32777bc48c50bf7b74.

Change-Id: Icbdcba8a646ac40c0533c1c04f5b15769332976c
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
d8bb8da1b742c34e0d2c97cfd6d097b21df9bc47 29-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Partial revert of "Fix Surface slot caching""" into nyc-dev
c59eed57f048f3568f99e5d64ea9e15130ace78d 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging am: d46695bb66 am: e39a6e160d am: 5e0fa1d392 am: 5da66d4fca am: ea91df0a24 am: f32db75e29
am: 804776a095

* commit '804776a095086816268d819ebeb7de2934afac1d':
Add SN logging
5da66d4fca1b95ffe45883e637cbcbb693ea6cf4 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging am: d46695bb66 am: e39a6e160d
am: 5e0fa1d392

* commit '5e0fa1d39283de9e41df9fccfee6a8f6102421cb':
Add SN logging
5e0fa1d39283de9e41df9fccfee6a8f6102421cb 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging am: d46695bb66
am: e39a6e160d

* commit 'e39a6e160d4dcf16531c2afe3364e639be58a2f7':
Add SN logging
d46695bb661ee294a0778e403044cd910c233ec1 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging

Bug 27046057

Change-Id: Iede7c92e59e60795df1ec7768ebafd6b090f1c27
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
aaf51e52cfa937a8938a4429a14432a8424c66d0 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Add interface for controlling single buffer auto refresh" into nyc-dev
738d34b162e0b54fbbc04f72c46204b5adb6554f 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev am: 793be16dd3 am: 7e83de0114 am: f419ec1bfb am: 8b640e6403 am: 5d2c73e7dc am: 724f7954db
am: 82b9819d93

* commit '82b9819d930c48124812c1a499a91218305a5d14':
BQ: Add permission check to BufferQueueConsumer::dump
8b640e6403de9dd328b2605c9f21b62d1d31e7d6 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev am: 793be16dd3 am: 7e83de0114
am: f419ec1bfb

* commit 'f419ec1bfb969f1add4c90b5b188041968f5f227':
BQ: Add permission check to BufferQueueConsumer::dump
f419ec1bfb969f1add4c90b5b188041968f5f227 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev am: 793be16dd3
am: 7e83de0114

* commit '7e83de0114538b006b4299fd608983ecd61b6422':
BQ: Add permission check to BufferQueueConsumer::dump
16c9c304a33af36faa352d32777bc48c50bf7b74 19-Feb-2016 Pablo Ceballos <pceballos@google.com> Revert "Partial revert of "Fix Surface slot caching""

This reverts commit 981066c3a5be3e4775b6537ef32268f7e108c912.
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
981066c3a5be3e4775b6537ef32268f7e108c912 18-Feb-2016 Pablo Ceballos <pceballos@google.com> Partial revert of "Fix Surface slot caching"

- Partially reverts commit 789a0c82cb370d6b82f401cc130af58c85802cbf.
- Leaves the fix in Surface, but reverts all changes to the
Producer/Consumer listeners.

Bug 27246023
Bug 27229287

Change-Id: I9283f9e59e666b5ae44c0db25f99a80d05eea3ee
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
88f692852f99a7d0ae3990211d193b06ad209818 12-Feb-2016 Pablo Ceballos <pceballos@google.com> BQ: Add permission check to BufferQueueConsumer::dump

Bug 27046057

Change-Id: Id7bd8cf95045b497943ea39dde49e877aa6f5c4e
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
789a0c82cb370d6b82f401cc130af58c85802cbf 05-Feb-2016 Pablo Ceballos <pceballos@google.com> Fix Surface slot caching

- Now that it's possible to resize a BufferQueue while buffers are
dequeued/acquired, it's no longer correct for Surface to clear its
cache when the BufferQueue is resized since it must keep at least
the currently dequeued buffers.
- Add an onSlotsFreed callback to IProducerListener so that producers
that wish to be notified about buffers being freed can do so. Note
that this isn't currently used in Surface.
- Review and fixup all the places where the producer/consumer
listeners for freed buffers should be called.

Change-Id: I4ab0c92bc69b75a3c072ddf5d74d78f941dba4c8
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
ff95aabbcc6e8606acbd7933c90eeb9b8b382a21 14-Jan-2016 Pablo Ceballos <pceballos@google.com> Add interface for controlling single buffer auto refresh

- Adds a boolean to BufferQueue that controls whether or not auto
refresh is enabled in SurfaceFlinger when in single buffer mode.
- Adds plumbing up to ANativeWindow.
- When enabled, it will cache the shared buffer slot in Surface in
order to prevent the Binder transaction with SurfaceFlinger.

Bug 24940410

Change-Id: I83142afdc00e203f198a32288f071d926f8fda95
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
72daab652e3481566c01ce45c6afdb9fcec6f140 08-Dec-2015 Pablo Ceballos <pceballos@google.com> BQ: Flexible resizing

- Allow the producer to call setMaxDequeuedBufferCount and the
consumer to call setMaxAcquiredBufferCount when buffers are
currently dequeued/acquired as long as the new value is not less
than the number of dequeued/acquired buffers.

Bug 22768206

Change-Id: I599a4027a6ae9cb0a1c0d5ec60cb5e65b86a345b
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
9e314337cdc65b1fbf52060e9a6a4ddf2215c352 12-Jan-2016 Pablo Ceballos <pceballos@google.com> BQ: Conditionally compile validateConsistencyLocked

- Only enable it on userdebug and eng builds so that it won't slow
down user builds.

Change-Id: I70933a23d54657fdf5cbc23873da4fbee84b9a26
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
23b4abe024ea88c45e0b94c80e1fb537a573b143 08-Jan-2016 Pablo Ceballos <pceballos@google.com> BQ: Improved buffer/slot tracking

- Explicitly track active buffers and unused slots on top of the
already existing tracking for free slots and free buffers.

Change-Id: Ife2678678e96f0eb0b3fb21571058378134bd868
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
063121849890da78b1ad7fb96c54c795de5d1fd6 08-Oct-2015 Pablo Ceballos <pceballos@google.com> SF: Force refresh when in single buffer mode

- Add a boolean to BufferItem to track whether single buffer mode is
enabled. When it is, force SurfaceFlinger to acquire a new buffer
and refresh on every vsync.

Bug 24940410

Change-Id: Iea67330c416b6fb14500865f98c67f1c12f23197
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
ccdfd60d79a8b7f1ed6401d0f2e8e29166a10584 08-Oct-2015 Pablo Ceballos <pceballos@google.com> BQ: Add support for single buffer mode

- Adds a single buffer mode to BufferQueue. In this mode designate the
first dequeued buffer as the shared buffer. All calls to dequeue()
and acquire() will then return the shared buffer, allowing the
producer and consumer to share it.
- Modify the buffer slot state tracking. Add a new SHARED state for
the shared buffer in single buffer mode. Also track how many times
a buffer has been dequeued/queued/acquired as it's possible for a
shared buffer to be both dequeued and acquired at the same time, or
dequeued/acquired multiple times. This tracking is needed to know
when to drop the buffer out of the SHARED state after single buffer
mode has been disabled.
- Add plumbing for enabling/disabling single buffer mode from Surface.

Bug 24940410

Change-Id: I3fc550c74bacb5523c049a227111356257386853
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
567dbbb6dd42be5013fcde0dadb3316d85f2fa0d 27-Aug-2015 Pablo Ceballos <pceballos@google.com> BQ: get rid of async in producer interface

- Get rid of the async flag in dequeueBuffer, allocateBuffers,
waitForFreeSlotThenRelock, and QueueBufferInput.
- Instead use the persistent flags mDequeueBufferCannotBlock and
mAsyncMode to determine whether to use the async behavior.

Bug 13174928

Change-Id: Ie6f7b9e46ee3844ee77b102003c84dddf1bcafdd
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
19e3e06e3c65a7c001a6fe0971744ba5ff536515 20-Aug-2015 Pablo Ceballos <pceballos@google.com> BQ: Modify consumer buffer count interfaces

- Rename setDefaultMaxBufferCount() to setMaxBufferCount(). Modify it
to be hard maximum on the number of buffers that can't be overwritten
by the producer.
- Enforce the maximum buffer count in setMaxAcquiredBufferCount(),
setMaxDequeuedBufferCount(), and setAsyncMode().
- Remove mOverrideMaxBufferCount as it's no longer needed since
overriding is no longer possible.
- Expose setMaxAcquiredBufferCount() in GLConsumer.
- Remove disableAsyncBuffer(), it was only being used for single buffer
mode. Single buffer mode is now achievable with setMaxBufferCount().

Bug 13174928

Change-Id: Ia33799f42751272a711fbd8559f7602ce9f18e4f
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
5f920c1a2cf12c0638c05fbddee8ff6c1193731c 14-Jul-2015 Lajos Molnar <lajos@google.com> BufferQueueConsumer: signal onFrameReleased on dropped frames

Bug: 22552826
Change-Id: I9bdfeb8c68f403301af90d4b494f0ae7166a767c
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
812ed0644f8f8f71ca403f4e5793f0dbc1fcf9b2 03-Jun-2015 Dan Stoza <stoza@google.com> libgui: Add generation numbers to BufferQueue

This change allows producers to set a generation number on a
BufferQueue. This number will be embedded in any new GraphicBuffers
created in that BufferQueue, and attempts to attach buffers which have
a different generation number will fail.

It also plumbs the setGenerationNumber method through Surface, with the
additional effect that any buffers attached to the Surface after
setting a new generation number will automatically be updated with the
new number (as opposed to failing, as would happen on through IGBP).

Bug: 20923096
Change-Id: I32bf726b035f99c3e5834beaf76afb9f01adcbc2
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
a4650a50a0b35e9e4342d6600b6eb24fd94bb8e5 12-May-2015 Dan Stoza <stoza@google.com> Fix PTS handling for buffer replacement

This changes the way that SurfaceFlinger's shadow buffer management
works such that instead of tracking the size of the shadow queue in the
BufferQueue, SF tracks the last frame number it has seen, and passes
that into the acquireBuffer call. BufferQueueConsumer then ensures that
it never returns a buffer newer than that frame number, even if that
means that it must return PRESENT_LATER for an otherwise valid buffer.

Change-Id: I3fcb45f683ed660c3f18a8b85ae1f8a962ba6f0e
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
79e287890da9de37a834cceebdefe32a7d3ac0ac 04-May-2015 Dan Stoza <stoza@google.com> Merge "libgui: Clear frame number while freeing slot" into mnc-dev
52937cd9a543fe66696c38ae50ec141aa70ec1e4 02-May-2015 Dan Stoza <stoza@google.com> libgui: Clear frame number while freeing slot

Clears the frame number of a slot when it is freed, since it is used
to determine if a released buffer is stale.

Bug: 20445852
Change-Id: I02415e7b25a1eafe7414d6eb1cedf62ac5543cd9
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
ecc504043fddb7a75042ce402c67aedfac04d5e2 28-Apr-2015 Dan Stoza <stoza@google.com> SurfaceFlinger: Fix PTS on stale buffers

SurfaceFlinger's (Layer's) shadow copy of the BufferQueue queue was
getting out of sync for a few reasons. This change fixes these by
doing the following:

- Adds a check to re-synchronize the shadow copy every time we
successfully acquire a buffer by first dropping stale buffers before
removing the current buffer.
- Avoids trying to perform updates for buffers which have been rejected
(for incorrect dimensions) by SurfaceFlinger.
- Adds IGraphicBufferConsumer::setShadowQueueSize, which allows the
consumer to notify the BufferQueue that it is maintaining a shadow
copy of the queue and prevents it from dropping so many buffers
during acquireBuffer that it ends up returning a buffer for which the
consumer has not yet received an onFrameAvailable call.

Bug: 20096136
Change-Id: I78d0738428005fc19b3be85cc8f1db498043612f
(cherry picked from commit 2e36f2283f48ab764b496490c73a132acf21df3a)
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
0de7ea752900b5da29ad19c2799040235477f3c5 23-Apr-2015 Dan Stoza <stoza@google.com> libgui: Change BufferQueue to use free lists

BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.

Fixes an issue with the first version of this change, found in bugs
20482952, 20443314, and 20464549.

Bug: 13175420
Change-Id: I9b6e83cfe8f9b4329a976025cb8e291d51fb6d4a
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
1fc9cc25a487d4d9dea3cc185331e3481ead36ff 22-Apr-2015 Dan Stoza <stoza@google.com> Revert "libgui: Change BufferQueue to use free lists"

This reverts commit 8dddc990103b71137be2a6365a26b1ac36598e68.

Change-Id: I0b0fed9f1394c6f6ae812f6c562ead4473a8226e
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
8dddc990103b71137be2a6365a26b1ac36598e68 17-Apr-2015 Dan Stoza <stoza@google.com> libgui: Change BufferQueue to use free lists

BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.

Bug: 13175420
Change-Id: Ic8398e7511bd11a60a1c82e3ad2ee271c9822be1
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
1c87e474d87d6d1380fb61d476d606b1a2fda1c1 13-Mar-2015 Dan Stoza <stoza@google.com> DO NOT MERGE libgui: Remove IGBC::BufferItem

Removes IGraphicBufferConsumer::BufferItem. Depends on the
following changes:
I187b3a7d05196b6289596afac8fb9a9d4aebff76
I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc

Cherry-pick of Id1fa56d092188f2cb712768d5d2fc6a9027fb73c

Change-Id: I3edf0db8fba656fd78e18a5a7f1137f0fb6b237d
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
cf3834db104e0b052056e3a06d46e3f222f0d372 11-Mar-2015 Dan Stoza <stoza@google.com> DO NOT MERGE libgui: Prepare for IGBC::BufferItem removal

Currently, there are two instances of BufferItem: one inside of
IGraphicBufferConsumer, and a standalone one inside of libgui. They
only differ in the name of one of the fields, and we want to remove
the IGBC version. This changes things so that client code may be
incrementally switched over to the libgui version.

This is a squashed commit containing the following changes:
I64f495105f56cbf5803cea4aa6b072ea29b70cf5
I1394e693314429ada93427889f10b7b01c948053
I9c3bc8037fa9438d4d9080b8afb694219ef2f71f
I699ed0a6837076867ca756b28d1ffb2238f7a0d9
Iac8425e1241774304a131da2fb9dec6e82922f13

Change-Id: Ic4d51f5df6dbc70b376d13fceba2335b9bae4f3d
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
82c6bcc9705eabcaf5b9e45bc81867b0e2d61a02 20-Feb-2015 Eino-Ville Talvala <etalvala@google.com> DO NOT MERGE Add dataSpace to buffer queues; remove old format enums.

- Wire up new dataSpace parameter through buffer queue stack
- Update tests to include the parameter
- Switch eglApi to using dataSpace to indicate sRGB gamma/linear
difference
- Remove RAW_SENSOR in favor of RAW16
- Remove use of sRGB format enums
- Add default dataspace to buffer queue core
- Add query for default dataspace

Cherry pick of I070bd2e7c56506055c419004c29e2e3feac725df

Change-Id: I461952389c18051176c6b75e664f20ad369f5760
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
3be1c6b60a188dc10025e2ce156c11fac050625d 18-Nov-2014 Dan Stoza <stoza@google.com> libgui: Enable -Weverything and -Werror

Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Cherry pick of I034abec27bf4020d84af60d7acc1939c59986dd6 plus a
couple of minor changes to CpuConsumer.cpp to make it work with a
prior change:
Uncomment CC_LOGV on line 46
Change C-style cast to static_cast on line 71

Change-Id: Iaec610477ea0122317b0578fb74caf2383d4cf08
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
8f515ce1c57379cafac4357bc4fdb61dd346ec5f 09-Jun-2014 Mark Salyzyn <salyzyn@google.com> libgui: 64 bit compile issues (part deux)

- nsecs_t printed with PRId64
- int64_t/uint64_t print issues
- some size_t printing issues.
- missing argument to BQ_LOGV

Change-Id: I493f2b578e801dc38c44f8c536faa45266720402
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
4cbf3c53447215a31f69d3ac615ba0daa902f717 21-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Guard against unbounded queue growth"
fb39827ebce4637dcba03770f6644cf67e932e06 21-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Increase max slots from 32 to 64"
ae3c3682333f25e860fe54e2bae3599bb466cdb6 19-Apr-2014 Dan Stoza <stoza@google.com> BufferQueue: Guard against unbounded queue growth

Adds logic to dequeueBuffer that blocks if there are currently too
many buffers in the queue. This prevents unbounded growth around
times where the slots are cleared but the queue is not (e.g.,
during rapid connect/disconnect or setBufferCount activity). This
replaces the fix from ag/377958 in a more general way.

Bug: 11293214
Change-Id: Ieb7adfcd076ff7ffe3d4d369397b2c29cf5099c3
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
febd4f4f462444bfcb3f0618d07ac77e3fc1f6ad 10-Apr-2014 Dan Stoza <stoza@google.com> BufferQueue: Increase max slots from 32 to 64

Increases NUM_BUFFER_SLOTS from 32 to 64 and changes the mask
returned by IGBC::getReleasedBuffers from 32 to 64 bits.

Bug: 13174352
Change-Id: Ie8ef0853916cfb91f83881c7241886bb1950f01a
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
99b18b447dec188bcec37b415603b9dd400fc7e1 28-Mar-2014 Dan Stoza <stoza@google.com> BufferQueue: Add StreamSplitter

Adds a StreamSplitter class, that takes one IGraphicBufferConsumer
interface and multiple IGraphicBufferProducer interfaces and
implements a one-to-many broadcast of GraphicBuffers (while managing
fences correctly).

Change-Id: I38ecdf3e311ac521bc781c30dde0cc382a4376a3
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
d1c103655533321b5c74fbefff656838a8196153 28-Mar-2014 Dan Stoza <stoza@google.com> BufferQueue: Hook up IProducerListener

Actually call the producer listener's callback during
IGraphicBufferConsumer::releaseBuffer

Change-Id: Idfa6bb08d62629cd3a198318e6c6fd6a731e73ef
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
73ed82f809a40560fd3a6d53d18e5c846362d764 13-Mar-2014 Jesse Hall <jessehall@google.com> Merge "Add sideband streams to BufferQueue and related classes"
399184a4cd728ea1421fb0bc1722274a29e38f4a 04-Mar-2014 Jesse Hall <jessehall@google.com> Add sideband streams to BufferQueue and related classes

Sideband streams are essentially a device-specific buffer queue that
bypasses the BufferQueue system. They can be used for situations with
hard real-time requirements like high-quality TV and video playback
with A/V sync. A handle to the stream is provided by the source HAL,
and attached to a BufferQueue. The sink HAL can read buffers via the
stream handle rather than acquiring individual buffers from the
BufferQueue.

Change-Id: Ib3f262eddfc520f4bbe3d9b91753ed7dd09d3a9b
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
9f3053de78630815d60cf48a2cf2348cc5867c45 07-Mar-2014 Dan Stoza <stoza@google.com> BufferQueue: Allow detaching/reattaching buffers

Adds detachBuffer and attachBuffer calls to both the producer and
consumer sides of BufferQueue. Buffers may be detached while dequeued
by the producer or acquired by the consumer, and when attached, enter
the dequeued and acquired states, respectively.

Bug: 13173343
Change-Id: Ic152692b0a94d99e0135b9bfa62747dab2a54220
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
3e96f1982fda358424b0b75f394cbf7c1794a072 03-Mar-2014 Dan Stoza <stoza@google.com> Change BufferQueue into producer/consumer wrapper

Now that BufferQueue has been split into core + producer + consumer,
rewrite BufferQueue to be a thin layer over a producer and consumer
interface. Eventually, this layer will be deprecated in favor of
only using either the producer or consumer interface, as applicable.

Change-Id: I340ae5f5b633b244fb594615ff52ba50b9e2f7e4
/frameworks/native/libs/gui/BufferQueueConsumer.cpp
289ade165e60b5f71734d30e535f16eb1f4313ad 28-Feb-2014 Dan Stoza <stoza@google.com> Split BufferQueue into core + producer + consumer

Change-Id: Idc39f1e511d68ce4f02202d35425a419bc0bcd92
/frameworks/native/libs/gui/BufferQueueConsumer.cpp