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

Commit 75703a40 authored by Andy Hung's avatar Andy Hung Committed by Android (Google) Code Review
Browse files

Merge "NuPlayerRenderer: do not send rendering started message when paused"

parents 8441f5f7 b12ea0bb
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ NuPlayer::Renderer::Renderer(
      mVideoRenderingStarted(false),
      mVideoRenderingStartGeneration(0),
      mAudioRenderingStartGeneration(0),
      mRenderingDataDelivered(false),
      mLastAudioMediaTimeUs(-1),
      mAudioOffloadPauseTimeoutGeneration(0),
      mAudioTornDown(false),
@@ -663,11 +664,16 @@ void NuPlayer::Renderer::postDrainAudioQueue_l(int64_t delayUs) {
void NuPlayer::Renderer::prepareForMediaRenderingStart_l() {
    mAudioRenderingStartGeneration = mAudioDrainGeneration;
    mVideoRenderingStartGeneration = mVideoDrainGeneration;
    mRenderingDataDelivered = false;
}

void NuPlayer::Renderer::notifyIfMediaRenderingStarted_l() {
    if (mVideoRenderingStartGeneration == mVideoDrainGeneration &&
        mAudioRenderingStartGeneration == mAudioDrainGeneration) {
        mRenderingDataDelivered = true;
        if (mPaused) {
            return;
        }
        mVideoRenderingStartGeneration = -1;
        mAudioRenderingStartGeneration = -1;

@@ -1534,7 +1540,10 @@ void NuPlayer::Renderer::onResume() {
    {
        Mutex::Autolock autoLock(mLock);
        mPaused = false;

        // rendering started message may have been delayed if we were paused.
        if (mRenderingDataDelivered) {
            notifyIfMediaRenderingStarted_l();
        }
        // configure audiosink as we did not do it when pausing
        if (mAudioSink != NULL && mAudioSink->ready()) {
            mAudioSink->setPlaybackRate(mPlaybackSettings);
+1 −0
Original line number Diff line number Diff line
@@ -177,6 +177,7 @@ private:
    bool mVideoRenderingStarted;
    int32_t mVideoRenderingStartGeneration;
    int32_t mAudioRenderingStartGeneration;
    bool mRenderingDataDelivered;

    // the media timestamp of last audio sample right before EOS.
    int64_t mLastAudioMediaTimeUs;