Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75555b2e authored by Dan Stoza's avatar Dan Stoza Committed by Android (Google) Code Review
Browse files

Merge "BufferItemConsumer: Use IGBC instead of BQ"

parents 14226716 fe50d2a0
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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();
+11 −11
Original line number Diff line number Diff line
@@ -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() {