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

Commit 847f11e2 authored by Michael Lentine's avatar Michael Lentine
Browse files

Refactor ConsumerBase and it's derived classes.

Move setDefaultBufferSize, setDefaultBufferFormat, and
setDefaultBufferDataSpace into ConsumerBase and remove them from
CpuConsumer and BufferItemConsumer.

Bug: 19977701

Change-Id: Ic68992464c5da6da7a41c4063a53029a69efcd1b
parent 00699fa6
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -86,21 +86,6 @@ class BufferItemConsumer: public ConsumerBase
    status_t releaseBuffer(const BufferItem &item,
            const sp<Fence>& releaseFence = Fence::NO_FENCE);

    // setDefaultBufferSize is used to set the size of buffers returned by
    // requestBuffers when a with and height of zero is requested.
    status_t setDefaultBufferSize(uint32_t w, uint32_t h);

    // setDefaultBufferFormat allows the BufferQueue to create
    // GraphicBuffers of a defaultFormat if no format is specified
    // in dequeueBuffer
    status_t setDefaultBufferFormat(PixelFormat defaultFormat);

    // setDefaultBufferDataSpace allows the BufferQueue to create
    // GraphicBuffers of a defaultDataSpace if no data space is specified
    // in queueBuffer.
    // The initial default is HAL_DATASPACE_UNKNOWN
    status_t setDefaultBufferDataSpace(android_dataspace defaultDataSpace);

};

} // namespace android
+9 −0
Original line number Diff line number Diff line
@@ -79,6 +79,15 @@ public:
    // See IGraphicBufferConsumer::detachBuffer
    status_t detachBuffer(int slot);

    // See IGraphicBufferConsumer::setDefaultBufferSize
    status_t setDefaultBufferSize(uint32_t width, uint32_t height);

    // See IGraphicBufferConsumer::setDefaultBufferFormat
    status_t setDefaultBufferFormat(PixelFormat defaultFormat);

    // See IGraphicBufferConsumer::setDefaultBufferDataSpace
    status_t setDefaultBufferDataSpace(android_dataspace defaultDataSpace);

private:
    ConsumerBase(const ConsumerBase&);
    void operator=(const ConsumerBase&);
+0 −17
Original line number Diff line number Diff line
@@ -80,23 +80,6 @@ class CpuConsumer : public ConsumerBase
    // log messages.
    void setName(const String8& name);

    // setDefaultBufferSize is used to set the size of buffers returned by
    // requestBuffers when a width and height of zero is requested.
    // A call to setDefaultBufferSize() may trigger requestBuffers() to
    // be called from the client. Default size is 1x1.
    status_t setDefaultBufferSize(uint32_t width, uint32_t height);

    // setDefaultBufferFormat allows CpuConsumer's BufferQueue to create buffers
    // of a defaultFormat if no format is specified by producer.
    // The initial default is PIXEL_FORMAT_RGBA_8888.
    status_t setDefaultBufferFormat(PixelFormat defaultFormat);

    // setDefaultBufferDataSpace allows the BufferQueue to create
    // GraphicBuffers of a defaultDataSpace if no data space is specified
    // in queueBuffer.
    // The initial default is HAL_DATASPACE_UNKNOWN
    status_t setDefaultBufferDataSpace(android_dataspace defaultDataSpace);

    // Gets the next graphics buffer from the producer and locks it for CPU use,
    // filling out the passed-in locked buffer structure with the native pointer
    // and metadata. Returns BAD_VALUE if no new buffer is available, and
+0 −16
Original line number Diff line number Diff line
@@ -100,20 +100,4 @@ status_t BufferItemConsumer::releaseBuffer(const BufferItem &item,
    return err;
}

status_t BufferItemConsumer::setDefaultBufferSize(uint32_t w, uint32_t h) {
    Mutex::Autolock _l(mMutex);
    return mConsumer->setDefaultBufferSize(w, h);
}

status_t BufferItemConsumer::setDefaultBufferFormat(PixelFormat defaultFormat) {
    Mutex::Autolock _l(mMutex);
    return mConsumer->setDefaultBufferFormat(defaultFormat);
}

status_t BufferItemConsumer::setDefaultBufferDataSpace(
        android_dataspace defaultDataSpace) {
    Mutex::Autolock _l(mMutex);
    return mConsumer->setDefaultBufferDataSpace(defaultDataSpace);
}

} // namespace android
+16 −0
Original line number Diff line number Diff line
@@ -178,6 +178,22 @@ status_t ConsumerBase::detachBuffer(int slot) {
    return result;
}

status_t ConsumerBase::setDefaultBufferSize(uint32_t width, uint32_t height) {
    Mutex::Autolock _l(mMutex);
    return mConsumer->setDefaultBufferSize(width, height);
}

status_t ConsumerBase::setDefaultBufferFormat(PixelFormat defaultFormat) {
    Mutex::Autolock _l(mMutex);
    return mConsumer->setDefaultBufferFormat(defaultFormat);
}

status_t ConsumerBase::setDefaultBufferDataSpace(
        android_dataspace defaultDataSpace) {
    Mutex::Autolock _l(mMutex);
    return mConsumer->setDefaultBufferDataSpace(defaultDataSpace);
}

void ConsumerBase::dump(String8& result) const {
    dump(result, "");
}
Loading