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

Commit 351ce871 authored by Wei Jia's avatar Wei Jia
Browse files

NuPlayer: set mPausedByClient correctly when calling setPlaybackSettings().

Also reset mPendingBufferingFlag when seeking.

Bug: 25727912
Change-Id: I1b6ec51b22f981c1701ac7eab572f95e6874c3a0
parent 3aaa699a
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -736,6 +736,7 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) {
            if (err == OK) {
                if (rate.mSpeed == 0.f) {
                    onPause();
                    mPausedByClient = true;
                    // save all other settings (using non-paused speed)
                    // so we can restore them on start
                    AudioPlaybackRate newRate = rate;
@@ -743,6 +744,7 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) {
                    mPlaybackSettings = newRate;
                } else { /* rate.mSpeed != 0.f */
                    onResume();
                    mPausedByClient = false;
                    mPlaybackSettings = rate;
                }
            }
@@ -1208,6 +1210,8 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) {
                break;
            }

            mPendingBufferingFlag = PENDING_BUFFERING_FLAG_NONE;

            mDeferredActions.push_back(
                    new FlushDecoderAction(FLUSH_CMD_FLUSH /* audio */,
                                           FLUSH_CMD_FLUSH /* video */));
@@ -1908,6 +1912,7 @@ void NuPlayer::performSeek(int64_t seekTimeUs) {
    }
    mPreviousSeekTimeUs = seekTimeUs;
    mSource->seekTo(seekTimeUs);
    mPendingBufferingFlag = PENDING_BUFFERING_FLAG_NONE;
    ++mTimedTextGeneration;

    // everything's flushed, continue playback.