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

Commit 43428963 authored by Anton Ivanov's avatar Anton Ivanov
Browse files

VirtualDisplaySurface: initialize producer in onFirstRef().

Bug: 393217449
Test: presubmit
Flag: EXEMPT_refactor
Change-Id: I7c6aa617b0f126eac2c36830a3add57c56fdbd97
BYPASS_IGBP_IGBC_API_REASON: refactoring
parent b4c14d5c
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -99,8 +99,6 @@ VirtualDisplaySurface::VirtualDisplaySurface(HWComposer& hwc,
    mOutputFormat = mDefaultOutputFormat;

    sink->setAsyncMode(true);
    IGraphicBufferProducer::QueueBufferOutput output;
    mSource[SOURCE_SCRATCH]->connect(nullptr, NATIVE_WINDOW_API_EGL, false, &output);

    for (size_t i = 0; i < sizeof(mHwcBufferIds) / sizeof(mHwcBufferIds[0]); ++i) {
        mHwcBufferIds[i] = UINT64_MAX;
@@ -114,9 +112,15 @@ void VirtualDisplaySurface::initializeConsumer() {
    mConsumer->setDefaultBufferSize(mSinkBufferWidth, mSinkBufferHeight);
}

void VirtualDisplaySurface::initializeProducer() {
    IGraphicBufferProducer::QueueBufferOutput output;
    mSource[SOURCE_SCRATCH]->connect(nullptr, NATIVE_WINDOW_API_EGL, false, &output);
}

void VirtualDisplaySurface::onFirstRef() {
    ConsumerBase::onFirstRef();
    initializeConsumer();
    initializeProducer();
}

VirtualDisplaySurface::~VirtualDisplaySurface() {
+1 −0
Original line number Diff line number Diff line
@@ -105,6 +105,7 @@ private:
    };

    void initializeConsumer();
    void initializeProducer();

    virtual ~VirtualDisplaySurface();