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

Commit a343d0cf authored by Changyeon Jo's avatar Changyeon Jo Committed by Automerger Merge Worker
Browse files

Increase frame counters in the same critical section am: 928a4535

parents c2794f8c 928a4535
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -133,6 +133,9 @@ Return<void> FrameHandler::deliverFrame(const BufferDesc& bufferArg) {
    // Local flag we use to keep track of when the stream is stopping
    bool timeToStop = false;

    // Another local flag telling whether or not current frame is displayed.
    bool frameDisplayed = false;

    if (bufferArg.memHandle.getNativeHandle() == nullptr) {
        // Signal that the last frame has been received and the stream is stopped
        timeToStop = true;
@@ -172,9 +175,7 @@ Return<void> FrameHandler::deliverFrame(const BufferDesc& bufferArg) {
                } else {
                    // Everything looks good!
                    // Keep track so tests or watch dogs can monitor progress
                    mLock.lock();
                    mFramesDisplayed++;
                    mLock.unlock();
                    frameDisplayed = true;
                }
            }
        }
@@ -197,12 +198,15 @@ Return<void> FrameHandler::deliverFrame(const BufferDesc& bufferArg) {
    }


    // Update our received frame count and notify anybody who cares that things have changed
    // Update frame counters and notify anybody who cares that things have changed.
    mLock.lock();
    if (timeToStop) {
        mRunning = false;
    } else {
        mFramesReceived++;
        if (frameDisplayed) {
            mFramesDisplayed++;
        }
    }
    mLock.unlock();
    mSignal.notify_all();