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

Commit eb086144 authored by Wonsik Kim's avatar Wonsik Kim Committed by android-build-merger
Browse files

Merge "CCodecBuffers: add support for reallocating graphic buffers" into qt-dev am: 2cbc7cd8

am: 58b1638d

Change-Id: I086441bf795420a5a70c3c390d4d4b4af3a3b9bf
parents d4f5f656 58b1638d
Loading
Loading
Loading
Loading
+19 −2
Original line number Diff line number Diff line
@@ -439,6 +439,10 @@ size_t BuffersArrayImpl::numClientBuffers() const {
            });
}

size_t BuffersArrayImpl::arraySize() const {
    return mBuffers.size();
}

// InputBuffersArray

void InputBuffersArray::initialize(
@@ -883,11 +887,24 @@ void OutputBuffersArray::realloc(const std::shared_ptr<C2Buffer> &c2buffer) {
            mAlloc = [format = mFormat, size] {
                return new LocalLinearBuffer(format, new ABuffer(size));
            };
            ALOGD("[%s] reallocating with linear buffer of size %u", mName, size);
            break;
        }

        // TODO: add support
        case C2BufferData::GRAPHIC:         [[fallthrough]];
        case C2BufferData::GRAPHIC: {
            // This is only called for RawGraphicOutputBuffers.
            mAlloc = [format = mFormat,
                      lbp = LocalBufferPool::Create(kMaxLinearBufferSize * mImpl.arraySize())] {
                return ConstGraphicBlockBuffer::AllocateEmpty(
                        format,
                        [lbp](size_t capacity) {
                            return lbp->newBuffer(capacity);
                        });
            };
            ALOGD("[%s] reallocating with graphic buffer: format = %s",
                  mName, mFormat->debugString().c_str());
            break;
        }

        case C2BufferData::INVALID:         [[fallthrough]];
        case C2BufferData::LINEAR_CHUNKS:   [[fallthrough]];
+5 −0
Original line number Diff line number Diff line
@@ -478,6 +478,11 @@ public:
     */
    size_t numClientBuffers() const;

    /**
     * Return the size of the array.
     */
    size_t arraySize() const;

private:
    std::string mImplName; ///< name for debugging
    const char *mName; ///< C-string version of name