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

Commit 13dddeb9 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "codec2: change of asC2Buffer behavior" into rvc-dev am: 52266779 am: d7319edc

Change-Id: I45b9397259b3b09022454ffeea1c5f3e010343fb
parents 1222dd53 d7319edc
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -261,6 +261,7 @@ bool FlexBuffersImpl::releaseSlot(
    std::shared_ptr<C2Buffer> result = mBuffers[index].compBuffer.lock();
    std::shared_ptr<C2Buffer> result = mBuffers[index].compBuffer.lock();
    if (!result) {
    if (!result) {
        result = clientBuffer->asC2Buffer();
        result = clientBuffer->asC2Buffer();
        clientBuffer->clearC2BufferRefs();
        mBuffers[index].compBuffer = result;
        mBuffers[index].compBuffer = result;
    }
    }
    if (c2buffer) {
    if (c2buffer) {
@@ -379,6 +380,7 @@ bool BuffersArrayImpl::returnBuffer(
    std::shared_ptr<C2Buffer> result = mBuffers[index].compBuffer.lock();
    std::shared_ptr<C2Buffer> result = mBuffers[index].compBuffer.lock();
    if (!result) {
    if (!result) {
        result = clientBuffer->asC2Buffer();
        result = clientBuffer->asC2Buffer();
        clientBuffer->clearC2BufferRefs();
        mBuffers[index].compBuffer = result;
        mBuffers[index].compBuffer = result;
    }
    }
    if (c2buffer) {
    if (c2buffer) {
+15 −3
Original line number Original line Diff line number Diff line
@@ -111,7 +111,11 @@ DummyContainerBuffer::DummyContainerBuffer(
}
}


std::shared_ptr<C2Buffer> DummyContainerBuffer::asC2Buffer() {
std::shared_ptr<C2Buffer> DummyContainerBuffer::asC2Buffer() {
    return std::move(mBufferRef);
    return mBufferRef;
}

void DummyContainerBuffer::clearC2BufferRefs() {
    mBufferRef.reset();
}
}


bool DummyContainerBuffer::canCopy(const std::shared_ptr<C2Buffer> &) const {
bool DummyContainerBuffer::canCopy(const std::shared_ptr<C2Buffer> &) const {
@@ -187,7 +191,11 @@ ConstLinearBlockBuffer::ConstLinearBlockBuffer(
}
}


std::shared_ptr<C2Buffer> ConstLinearBlockBuffer::asC2Buffer() {
std::shared_ptr<C2Buffer> ConstLinearBlockBuffer::asC2Buffer() {
    return std::move(mBufferRef);
    return mBufferRef;
}

void ConstLinearBlockBuffer::clearC2BufferRefs() {
    mBufferRef.reset();
}
}


// GraphicView2MediaImageConverter
// GraphicView2MediaImageConverter
@@ -689,8 +697,12 @@ ConstGraphicBlockBuffer::ConstGraphicBlockBuffer(
}
}


std::shared_ptr<C2Buffer> ConstGraphicBlockBuffer::asC2Buffer() {
std::shared_ptr<C2Buffer> ConstGraphicBlockBuffer::asC2Buffer() {
    return mBufferRef;
}

void ConstGraphicBlockBuffer::clearC2BufferRefs() {
    mView.reset();
    mView.reset();
    return std::move(mBufferRef);
    mBufferRef.reset();
}
}


bool ConstGraphicBlockBuffer::canCopy(const std::shared_ptr<C2Buffer> &buffer) const {
bool ConstGraphicBlockBuffer::canCopy(const std::shared_ptr<C2Buffer> &buffer) const {
+5 −0
Original line number Original line Diff line number Diff line
@@ -59,6 +59,8 @@ public:


    sp<ABuffer> getImageData() const { return mImageData; }
    sp<ABuffer> getImageData() const { return mImageData; }


    virtual void clearC2BufferRefs() {}

protected:
protected:
    /**
    /**
     * canCopy() implementation for linear buffers.
     * canCopy() implementation for linear buffers.
@@ -102,6 +104,7 @@ public:
            const std::shared_ptr<C2Buffer> &buffer = nullptr);
            const std::shared_ptr<C2Buffer> &buffer = nullptr);


    std::shared_ptr<C2Buffer> asC2Buffer() override;
    std::shared_ptr<C2Buffer> asC2Buffer() override;
    void clearC2BufferRefs() override;
    bool canCopy(const std::shared_ptr<C2Buffer> &buffer) const override;
    bool canCopy(const std::shared_ptr<C2Buffer> &buffer) const override;
    bool copy(const std::shared_ptr<C2Buffer> &buffer) override;
    bool copy(const std::shared_ptr<C2Buffer> &buffer) override;


@@ -161,6 +164,7 @@ public:
    virtual ~ConstLinearBlockBuffer() = default;
    virtual ~ConstLinearBlockBuffer() = default;


    std::shared_ptr<C2Buffer> asC2Buffer() override;
    std::shared_ptr<C2Buffer> asC2Buffer() override;
    void clearC2BufferRefs() override;


private:
private:
    ConstLinearBlockBuffer(
    ConstLinearBlockBuffer(
@@ -280,6 +284,7 @@ public:
    virtual ~ConstGraphicBlockBuffer() = default;
    virtual ~ConstGraphicBlockBuffer() = default;


    std::shared_ptr<C2Buffer> asC2Buffer() override;
    std::shared_ptr<C2Buffer> asC2Buffer() override;
    void clearC2BufferRefs() override;
    bool canCopy(const std::shared_ptr<C2Buffer> &buffer) const override;
    bool canCopy(const std::shared_ptr<C2Buffer> &buffer) const override;
    bool copy(const std::shared_ptr<C2Buffer> &buffer) override;
    bool copy(const std::shared_ptr<C2Buffer> &buffer) override;