BufferItemConsumer: Use IGBC instead of BQ
Change-Id: Id1756ac62954ba412f2c23c5fa6e5d760c299347
This commit is contained in:
parent
685c0ae8de
commit
fe50d2a0a1
|
@ -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();
|
||||
|
|
|
@ -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() {
|
||||
|
|
Loading…
Reference in New Issue