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

Commit 8443b19b authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "VirtualDisplaySurface: initialize consumer in onFirstRef()." into main

parents e4546838 9bc9a12b
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -98,10 +98,6 @@ VirtualDisplaySurface::VirtualDisplaySurface(HWComposer& hwc,
    }
    mOutputFormat = mDefaultOutputFormat;

    ConsumerBase::mName = String8::format("VDS: %s", mDisplayName.c_str());
    mConsumer->setConsumerName(ConsumerBase::mName);
    mConsumer->setConsumerUsageBits(GRALLOC_USAGE_HW_COMPOSER);
    mConsumer->setDefaultBufferSize(sinkWidth, sinkHeight);
    sink->setAsyncMode(true);
    IGraphicBufferProducer::QueueBufferOutput output;
    mSource[SOURCE_SCRATCH]->connect(nullptr, NATIVE_WINDOW_API_EGL, false, &output);
@@ -111,6 +107,18 @@ VirtualDisplaySurface::VirtualDisplaySurface(HWComposer& hwc,
    }
}

void VirtualDisplaySurface::initializeConsumer() {
    ConsumerBase::mName = String8::format("VDS: %s", mDisplayName.c_str());
    mConsumer->setConsumerName(ConsumerBase::mName);
    mConsumer->setConsumerUsageBits(GRALLOC_USAGE_HW_COMPOSER);
    mConsumer->setDefaultBufferSize(mSinkBufferWidth, mSinkBufferHeight);
}

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

VirtualDisplaySurface::~VirtualDisplaySurface() {
    mSource[SOURCE_SCRATCH]->disconnect(NATIVE_WINDOW_API_EGL);
}
+4 −0
Original line number Diff line number Diff line
@@ -91,6 +91,8 @@ public:
    // any client composition prediction.
    virtual bool supportsCompositionStrategyPrediction() const override { return false; };

    void onFirstRef() override;

private:
    enum Source : size_t {
        SOURCE_SINK = 0,
@@ -100,6 +102,8 @@ private:
        ftl_last = SOURCE_SCRATCH,
    };

    void initializeConsumer();

    virtual ~VirtualDisplaySurface();

    //