BufferItemConsumer: Use IGBC instead of BQ

Change-Id: Id1756ac62954ba412f2c23c5fa6e5d760c299347
This commit is contained in:
Dan Stoza 2014-03-12 14:32:29 -07:00
parent 685c0ae8de
commit fe50d2a0a1
2 changed files with 14 additions and 14 deletions

View File

@ -44,7 +44,7 @@ class BufferItemConsumer: public ConsumerBase
typedef BufferQueue::BufferItem BufferItem;
enum { MIN_UNDEQUEUED_BUFFERS = -1 };
enum { DEFAULT_MAX_BUFFERS = -1 };
enum { INVALID_BUFFER_SLOT = BufferQueue::INVALID_BUFFER_SLOT };
enum { NO_BUFFER_AVAILABLE = BufferQueue::NO_BUFFER_AVAILABLE };
@ -54,8 +54,8 @@ class BufferItemConsumer: public ConsumerBase
// access at the same time.
// controlledByApp tells whether this consumer is controlled by the
// application.
BufferItemConsumer(const sp<BufferQueue>& bq, uint32_t consumerUsage,
int bufferCount = MIN_UNDEQUEUED_BUFFERS,
BufferItemConsumer(const sp<IGraphicBufferConsumer>& consumer,
uint32_t consumerUsage, int bufferCount = DEFAULT_MAX_BUFFERS,
bool controlledByApp = false);
virtual ~BufferItemConsumer();

View File

@ -29,19 +29,19 @@
namespace android {
BufferItemConsumer::BufferItemConsumer(const sp<BufferQueue>& bq,
uint32_t consumerUsage, int bufferCount, bool controlledByApp) :
ConsumerBase(bq, controlledByApp)
BufferItemConsumer::BufferItemConsumer(
const sp<IGraphicBufferConsumer>& consumer, uint32_t consumerUsage,
int bufferCount, bool controlledByApp) :
ConsumerBase(consumer, controlledByApp)
{
if (bufferCount == MIN_UNDEQUEUED_BUFFERS) {
status_t res;
res = bq->query(NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS, &bufferCount);
LOG_ALWAYS_FATAL_IF(res != OK || bufferCount < 0,
"Failed to query min buffer count");
status_t err = mConsumer->setConsumerUsageBits(consumerUsage);
LOG_ALWAYS_FATAL_IF(err != OK,
"Failed to set consumer usage bits to %#x", consumerUsage);
if (bufferCount != DEFAULT_MAX_BUFFERS) {
err = mConsumer->setMaxAcquiredBufferCount(bufferCount);
LOG_ALWAYS_FATAL_IF(err != OK,
"Failed to set max acquired buffer count to %d", bufferCount);
}
mConsumer->setConsumerUsageBits(consumerUsage);
mConsumer->setMaxAcquiredBufferCount(bufferCount);
}
BufferItemConsumer::~BufferItemConsumer() {