diff options
author | Wei Jia <wjia@google.com> | 2014-10-28 17:09:06 -0700 |
---|---|---|
committer | Wei Jia <wjia@google.com> | 2014-10-28 18:40:45 -0700 |
commit | 9421174a2f002fef31b330fb04e00105a905dca4 (patch) | |
tree | c98aba03fef5848ac810b6487dd951b93f172953 /media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp | |
parent | b80a2a8871d3af8619bf774a0c9ddbac8d598bf9 (diff) | |
download | frameworks_av-9421174a2f002fef31b330fb04e00105a905dca4.zip frameworks_av-9421174a2f002fef31b330fb04e00105a905dca4.tar.gz frameworks_av-9421174a2f002fef31b330fb04e00105a905dca4.tar.bz2 |
NuPlayer: merge start() and resume().
NuPlayerDriver: allow seekTo called in STOPPED_AND_PREPARED state.
Bug: 18127606
Change-Id: I92ff9f7e0a176c434202762d30966d8c4643d1ef
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp index ab46074..b9a1a6c 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp @@ -239,16 +239,24 @@ status_t NuPlayerDriver::start() { // fall through } + case STATE_PAUSED: + case STATE_STOPPED_AND_PREPARED: + { + if (mAtEOS && mStartupSeekTimeUs < 0) { + mStartupSeekTimeUs = 0; + mPositionUs = -1; + } + + // fall through + } + case STATE_PREPARED: { mAtEOS = false; mPlayer->start(); if (mStartupSeekTimeUs >= 0) { - if (mStartupSeekTimeUs > 0) { - mPlayer->seekToAsync(mStartupSeekTimeUs); - } - + mPlayer->seekToAsync(mStartupSeekTimeUs); mStartupSeekTimeUs = -1; } break; @@ -264,20 +272,6 @@ status_t NuPlayerDriver::start() { break; } - case STATE_PAUSED: - case STATE_STOPPED_AND_PREPARED: - { - if (mAtEOS) { - mPlayer->seekToAsync(0); - mAtEOS = false; - mPlayer->resume(); - mPositionUs = -1; - } else { - mPlayer->resume(); - } - break; - } - default: return INVALID_OPERATION; } @@ -348,6 +342,7 @@ status_t NuPlayerDriver::seekTo(int msec) { switch (mState) { case STATE_PREPARED: + case STATE_STOPPED_AND_PREPARED: { mStartupSeekTimeUs = seekTimeUs; // pretend that the seek completed. It will actually happen when starting playback. |