codec2: change of asC2Buffer behavior
Bug: 152617675
Test: atest CtsMediaTestCases:MediaCodecBlockModelTest
Change-Id: Ie5893313840c6f1c349affca15f105520d7965cb
diff --git a/media/codec2/sfplugin/Codec2Buffer.h b/media/codec2/sfplugin/Codec2Buffer.h
index 09475ef..ff79946 100644
--- a/media/codec2/sfplugin/Codec2Buffer.h
+++ b/media/codec2/sfplugin/Codec2Buffer.h
@@ -59,6 +59,8 @@
sp<ABuffer> getImageData() const { return mImageData; }
+ virtual void clearC2BufferRefs() {}
+
protected:
/**
* canCopy() implementation for linear buffers.
@@ -102,6 +104,7 @@
const std::shared_ptr<C2Buffer> &buffer = nullptr);
std::shared_ptr<C2Buffer> asC2Buffer() override;
+ void clearC2BufferRefs() override;
bool canCopy(const std::shared_ptr<C2Buffer> &buffer) const override;
bool copy(const std::shared_ptr<C2Buffer> &buffer) override;
@@ -161,6 +164,7 @@
virtual ~ConstLinearBlockBuffer() = default;
std::shared_ptr<C2Buffer> asC2Buffer() override;
+ void clearC2BufferRefs() override;
private:
ConstLinearBlockBuffer(
@@ -280,6 +284,7 @@
virtual ~ConstGraphicBlockBuffer() = default;
std::shared_ptr<C2Buffer> asC2Buffer() override;
+ void clearC2BufferRefs() override;
bool canCopy(const std::shared_ptr<C2Buffer> &buffer) const override;
bool copy(const std::shared_ptr<C2Buffer> &buffer) override;