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

Commit 05b51202 authored by Wonsik Kim's avatar Wonsik Kim
Browse files

CCodecBufferChannel: remove assumption that pipeline clears quickly on input EOS

Bug: 223315440
Test: presubmit
Change-Id: I78dbf8062ddfec8861733c25cf85e2369c1cbf19
parent 657dd4cc
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -2086,12 +2086,13 @@ status_t CCodecBufferChannel::setSurface(const sp<Surface> &newSurface) {
}

PipelineWatcher::Clock::duration CCodecBufferChannel::elapsed() {
    // When client pushed EOS, we want all the work to be done quickly.
    // Otherwise, component may have stalled work due to input starvation up to
    // the sum of the delay in the pipeline.
    // TODO(b/231253301): When client pushed EOS, the pipeline could have less
    //                    number of frames.
    size_t n = 0;
    if (!mInputMetEos) {
    size_t outputDelay = mOutput.lock()->outputDelay;
    {
        Mutexed<Input>::Locked input(mInput);
        n = input->inputDelay + input->pipelineDelay + outputDelay;
    }