summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2014-10-28 17:09:06 -0700
committerWei Jia <wjia@google.com>2014-10-28 18:40:45 -0700
commit9421174a2f002fef31b330fb04e00105a905dca4 (patch)
treec98aba03fef5848ac810b6487dd951b93f172953 /media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
parentb80a2a8871d3af8619bf774a0c9ddbac8d598bf9 (diff)
downloadframeworks_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.cpp31
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.