Loading media/libmediaplayerservice/nuplayer/NuPlayer.cpp +6 −1 Original line number Original line Diff line number Diff line Loading @@ -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), Loading Loading @@ -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 */, Loading Loading @@ -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; Loading Loading @@ -1922,6 +1926,7 @@ void NuPlayer::performReset() { } } mStarted = false; mStarted = false; mResetting = false; mSourceStarted = false; mSourceStarted = false; } } Loading media/libmediaplayerservice/nuplayer/NuPlayer.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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. Loading Loading
media/libmediaplayerservice/nuplayer/NuPlayer.cpp +6 −1 Original line number Original line Diff line number Diff line Loading @@ -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), Loading Loading @@ -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 */, Loading Loading @@ -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; Loading Loading @@ -1922,6 +1926,7 @@ void NuPlayer::performReset() { } } mStarted = false; mStarted = false; mResetting = false; mSourceStarted = false; mSourceStarted = false; } } Loading
media/libmediaplayerservice/nuplayer/NuPlayer.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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. Loading