summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2015-10-07 16:52:19 -0700
committerSteve Kondik <steve@cyngn.com>2015-11-05 21:16:19 -0800
commitccf30dd45a956edb1d8b35c30dcff81db351eadc (patch)
tree66227160559af7bed20c6e7cb95a13b02eed7e22 /media/libmediaplayerservice
parenta31baec24f1fed008e0849cf25e8c62d80d01cf8 (diff)
downloadframeworks_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')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.cpp7
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.h1
2 files changed, 7 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;
}
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h
index 73e196e..1f4dec8 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h
@@ -202,6 +202,7 @@ protected:
AVSyncSettings mSyncSettings;
float mVideoFpsHint;
bool mStarted;
+ bool mResetting;
bool mSourceStarted;
// Actual pause state, either as requested by client or due to buffering.