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

Commit afe3081e authored by Wonsik Kim's avatar Wonsik Kim
Browse files

Fix sideband stream issues

- Notify a listener when sideband stream is set
- Mark a layer as visible when sideband stream is set, even though
no buffer is queued.

Change-Id: I9652bf530f2b5ce331533ec1bb3b10a815ca191c
parent 2e1f4b52
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -793,8 +793,16 @@ status_t BufferQueueProducer::disconnect(int api) {
}

status_t BufferQueueProducer::setSidebandStream(const sp<NativeHandle>& stream) {
    sp<IConsumerListener> listener;
    { // Autolock scope
        Mutex::Autolock _l(mCore->mMutex);
        mCore->mSidebandStream = stream;
        listener = mCore->mConsumerListener;
    } // Autolock scope

    if (listener != NULL) {
        listener->onSidebandStreamChanged();
    }
    return NO_ERROR;
}

+1 −1
Original line number Diff line number Diff line
@@ -959,7 +959,7 @@ void Layer::onPostComposition() {
bool Layer::isVisible() const {
    const Layer::State& s(mDrawingState);
    return !(s.flags & layer_state_t::eLayerHidden) && s.alpha
            && (mActiveBuffer != NULL);
            && (mActiveBuffer != NULL || mSidebandStream != NULL);
}

Region Layer::latchBuffer(bool& recomputeVisibleRegions)