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

Commit b03b9812 authored by Anton Ivanov's avatar Anton Ivanov Committed by Android (Google) Code Review
Browse files

Merge "Initialize SurfaceTexture in onFirstRef()." into main

parents 9e82e2a5 deea9850
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -311,6 +311,8 @@ public:
     */
    void setSurfaceTextureListener(const sp<SurfaceTextureListener>&);

    void onFirstRef() override;

protected:
    /**
     * abandonLocked overrides the ConsumerBase method to clear
+9 −12
Original line number Diff line number Diff line
@@ -52,9 +52,7 @@ SurfaceTexture::SurfaceTexture(uint32_t tex, uint32_t texTarget, bool useFenceSy
        mUseFenceSync(useFenceSync),
        mTexTarget(texTarget),
        mCurrentTexture(BufferQueue::INVALID_BUFFER_SLOT),
        mOpMode(OpMode::attachedToGL) {
    initialize();
}
        mOpMode(OpMode::attachedToGL) {}

SurfaceTexture::SurfaceTexture(uint32_t texTarget, bool useFenceSync, bool isControlledByApp)
      : ConsumerBase(isControlledByApp),
@@ -72,9 +70,7 @@ SurfaceTexture::SurfaceTexture(uint32_t texTarget, bool useFenceSync, bool isCon
        mUseFenceSync(useFenceSync),
        mTexTarget(texTarget),
        mCurrentTexture(BufferQueue::INVALID_BUFFER_SLOT),
        mOpMode(OpMode::detached) {
    initialize();
}
        mOpMode(OpMode::detached) {}

SurfaceTexture::SurfaceTexture(const sp<IGraphicBufferConsumer>& bq, uint32_t tex,
                               uint32_t texTarget, bool useFenceSync, bool isControlledByApp)
@@ -93,9 +89,7 @@ SurfaceTexture::SurfaceTexture(const sp<IGraphicBufferConsumer>& bq, uint32_t te
        mUseFenceSync(useFenceSync),
        mTexTarget(texTarget),
        mCurrentTexture(BufferQueue::INVALID_BUFFER_SLOT),
        mOpMode(OpMode::attachedToGL) {
    initialize();
}
        mOpMode(OpMode::attachedToGL) {}

SurfaceTexture::SurfaceTexture(const sp<IGraphicBufferConsumer>& bq, uint32_t texTarget,
                               bool useFenceSync, bool isControlledByApp)
@@ -114,9 +108,7 @@ SurfaceTexture::SurfaceTexture(const sp<IGraphicBufferConsumer>& bq, uint32_t te
        mUseFenceSync(useFenceSync),
        mTexTarget(texTarget),
        mCurrentTexture(BufferQueue::INVALID_BUFFER_SLOT),
        mOpMode(OpMode::detached) {
    initialize();
}
        mOpMode(OpMode::detached) {}

status_t SurfaceTexture::setDefaultBufferSize(uint32_t w, uint32_t h) {
    Mutex::Autolock lock(mMutex);
@@ -578,4 +570,9 @@ void SurfaceTexture::initialize() {
    mConsumer->setConsumerUsageBits(DEFAULT_USAGE_FLAGS);
}

void SurfaceTexture::onFirstRef() {
    ConsumerBase::onFirstRef();
    initialize();
}

} // namespace android