diff options
author | Ronghua Wu <ronghuawu@google.com> | 2015-10-07 16:52:19 -0700 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-11-05 21:16:19 -0800 |
commit | ccf30dd45a956edb1d8b35c30dcff81db351eadc (patch) | |
tree | 66227160559af7bed20c6e7cb95a13b02eed7e22 /media/libmediaplayerservice/nuplayer/NuPlayer.cpp | |
parent | a31baec24f1fed008e0849cf25e8c62d80d01cf8 (diff) | |
download | frameworks_av-ccf30dd45a956edb1d8b35c30dcff81db351eadc.zip frameworks_av-ccf30dd45a956edb1d8b35c30dcff81db351eadc.tar.gz frameworks_av-ccf30dd45a956edb1d8b35c30dcff81db351eadc.tar.bz2 |
nuplayer: don't resume if player is reseting
Bug: 24712426
Change-Id: I58cca0bde708a5c3b073ed77e18b62fe81d6c017
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayer.cpp')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayer.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp index ec1ab79..1b31f19 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp @@ -206,6 +206,7 @@ NuPlayer::NuPlayer(pid_t pid) mPlaybackSettings(AUDIO_PLAYBACK_RATE_DEFAULT), mVideoFpsHint(-1.f), mStarted(false), + mResetting(false), mSourceStarted(false), mPaused(false), mPausedByClient(false), @@ -1163,6 +1164,8 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) { { ALOGV("kWhatReset"); + mResetting = true; + mDeferredActions.push_back( new FlushDecoderAction( FLUSH_CMD_SHUTDOWN /* audio */, @@ -1248,7 +1251,8 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) { } void NuPlayer::onResume() { - if (!mPaused) { + if (!mPaused || mResetting) { + ALOGD_IF(mResetting, "resetting, onResume discarded"); return; } mPaused = false; @@ -1969,6 +1973,7 @@ void NuPlayer::performReset() { } mStarted = false; + mResetting = false; mSourceStarted = false; } |