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

Commit c5ea4edc authored by Ronghua Wu's avatar Ronghua Wu Committed by Gerrit Code Review
Browse files

Merge "nuplayer: don't resume if player is reseting"

parents 60cf8e89 b75de9d4
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -188,6 +188,7 @@ NuPlayer::NuPlayer(pid_t pid)
      mPlaybackSettings(AUDIO_PLAYBACK_RATE_DEFAULT),
      mPlaybackSettings(AUDIO_PLAYBACK_RATE_DEFAULT),
      mVideoFpsHint(-1.f),
      mVideoFpsHint(-1.f),
      mStarted(false),
      mStarted(false),
      mResetting(false),
      mSourceStarted(false),
      mSourceStarted(false),
      mPaused(false),
      mPaused(false),
      mPausedByClient(false),
      mPausedByClient(false),
@@ -1139,6 +1140,8 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) {
        {
        {
            ALOGV("kWhatReset");
            ALOGV("kWhatReset");


            mResetting = true;

            mDeferredActions.push_back(
            mDeferredActions.push_back(
                    new FlushDecoderAction(
                    new FlushDecoderAction(
                        FLUSH_CMD_SHUTDOWN /* audio */,
                        FLUSH_CMD_SHUTDOWN /* audio */,
@@ -1221,7 +1224,8 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) {
}
}


void NuPlayer::onResume() {
void NuPlayer::onResume() {
    if (!mPaused) {
    if (!mPaused || mResetting) {
        ALOGD_IF(mResetting, "resetting, onResume discarded");
        return;
        return;
    }
    }
    mPaused = false;
    mPaused = false;
@@ -1922,6 +1926,7 @@ void NuPlayer::performReset() {
    }
    }


    mStarted = false;
    mStarted = false;
    mResetting = false;
    mSourceStarted = false;
    mSourceStarted = false;
}
}


+1 −0
Original line number Original line Diff line number Diff line
@@ -197,6 +197,7 @@ private:
    AVSyncSettings mSyncSettings;
    AVSyncSettings mSyncSettings;
    float mVideoFpsHint;
    float mVideoFpsHint;
    bool mStarted;
    bool mStarted;
    bool mResetting;
    bool mSourceStarted;
    bool mSourceStarted;


    // Actual pause state, either as requested by client or due to buffering.
    // Actual pause state, either as requested by client or due to buffering.