MediaPlayer2: remove stop and related enums
Test: cts
Bug: 109928575
Change-Id: Ice031d6cecd4cc3642b57e9cbeeabbf48cd9c1b0
diff --git a/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Interface.h b/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Interface.h
index 02bf891..a6bf543 100644
--- a/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Interface.h
+++ b/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Interface.h
@@ -171,7 +171,6 @@
virtual status_t prepareAsync() = 0;
virtual status_t start() = 0;
- virtual status_t stop() = 0;
virtual status_t pause() = 0;
virtual bool isPlaying() = 0;
virtual status_t setPlaybackSettings(const AudioPlaybackRate& rate) {
diff --git a/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Types.h b/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Types.h
index 211a5c0..4b0a960 100644
--- a/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Types.h
+++ b/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Types.h
@@ -168,8 +168,7 @@
MEDIA_PLAYER2_PREPARED = 1 << 3,
MEDIA_PLAYER2_STARTED = 1 << 4,
MEDIA_PLAYER2_PAUSED = 1 << 5,
- MEDIA_PLAYER2_STOPPED = 1 << 6,
- MEDIA_PLAYER2_PLAYBACK_COMPLETE = 1 << 7
+ MEDIA_PLAYER2_PLAYBACK_COMPLETE = 1 << 6
};
// Keep KEY_PARAMETER_* in sync with MediaPlayer2.java.
diff --git a/media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h b/media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h
index 3af212e..43fba23 100644
--- a/media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h
+++ b/media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h
@@ -65,7 +65,6 @@
status_t setBufferingSettings(const BufferingSettings& buffering);
status_t prepareAsync();
status_t start();
- status_t stop();
status_t pause();
bool isPlaying();
mediaplayer2_states getState();
diff --git a/media/libmediaplayer2/mediaplayer2.cpp b/media/libmediaplayer2/mediaplayer2.cpp
index 4fb47b8..f0ea59e 100644
--- a/media/libmediaplayer2/mediaplayer2.cpp
+++ b/media/libmediaplayer2/mediaplayer2.cpp
@@ -750,7 +750,7 @@
status_t MediaPlayer2::prepareAsync() {
ALOGV("prepareAsync");
Mutex::Autolock _l(mLock);
- if ((mPlayer != 0) && (mCurrentState & (MEDIA_PLAYER2_INITIALIZED | MEDIA_PLAYER2_STOPPED))) {
+ if ((mPlayer != 0) && (mCurrentState & MEDIA_PLAYER2_INITIALIZED)) {
if (mAudioAttributesParcel != NULL) {
status_t err = setAudioAttributes_l(*mAudioAttributesParcel);
if (err != OK) {
@@ -806,24 +806,6 @@
return ret;
}
-status_t MediaPlayer2::stop() {
- ALOGV("stop");
- Mutex::Autolock _l(mLock);
- if (mCurrentState & MEDIA_PLAYER2_STOPPED) return NO_ERROR;
- if ( (mPlayer != 0) && ( mCurrentState & ( MEDIA_PLAYER2_STARTED | MEDIA_PLAYER2_PREPARED |
- MEDIA_PLAYER2_PAUSED | MEDIA_PLAYER2_PLAYBACK_COMPLETE ) ) ) {
- status_t ret = mPlayer->stop();
- if (ret != NO_ERROR) {
- mCurrentState = MEDIA_PLAYER2_STATE_ERROR;
- } else {
- mCurrentState = MEDIA_PLAYER2_STOPPED;
- }
- return ret;
- }
- ALOGE("stop called in state %d, mPlayer(%p)", mCurrentState, mPlayer.get());
- return INVALID_OPERATION;
-}
-
status_t MediaPlayer2::pause() {
ALOGV("pause");
Mutex::Autolock _l(mLock);
@@ -873,8 +855,7 @@
if (mCurrentState & MEDIA_PLAYER2_STARTED) {
return MEDIAPLAYER2_STATE_PLAYING;
}
- if (mCurrentState
- & (MEDIA_PLAYER2_PAUSED | MEDIA_PLAYER2_STOPPED | MEDIA_PLAYER2_PLAYBACK_COMPLETE)) {
+ if (mCurrentState & (MEDIA_PLAYER2_PAUSED | MEDIA_PLAYER2_PLAYBACK_COMPLETE)) {
return MEDIAPLAYER2_STATE_PAUSED;
}
// now only mCurrentState & MEDIA_PLAYER2_PREPARED is true
@@ -890,7 +871,7 @@
return BAD_VALUE;
}
Mutex::Autolock _l(mLock);
- if (mPlayer == 0 || (mCurrentState & MEDIA_PLAYER2_STOPPED)) {
+ if (mPlayer == 0) {
return INVALID_OPERATION;
}
@@ -982,7 +963,7 @@
Mutex::Autolock _l(mLock);
ALOGV("getDuration_l");
bool isValidState = (mCurrentState & (MEDIA_PLAYER2_PREPARED | MEDIA_PLAYER2_STARTED |
- MEDIA_PLAYER2_PAUSED | MEDIA_PLAYER2_STOPPED | MEDIA_PLAYER2_PLAYBACK_COMPLETE));
+ MEDIA_PLAYER2_PAUSED | MEDIA_PLAYER2_PLAYBACK_COMPLETE));
if (mPlayer == 0 || !isValidState) {
ALOGE("Attempt to call getDuration in wrong state: mPlayer=%p, mCurrentState=%u",
mPlayer.get(), mCurrentState);
diff --git a/media/libmediaplayer2/nuplayer2/NuPlayer2Driver.cpp b/media/libmediaplayer2/nuplayer2/NuPlayer2Driver.cpp
index 3069f54..f85e3a2 100644
--- a/media/libmediaplayer2/nuplayer2/NuPlayer2Driver.cpp
+++ b/media/libmediaplayer2/nuplayer2/NuPlayer2Driver.cpp
@@ -272,13 +272,6 @@
mState = STATE_PREPARING;
mPlayer->prepareAsync();
return OK;
- case STATE_STOPPED:
- // this is really just paused. handle as seek to start
- mAtEOS = false;
- mState = STATE_STOPPED_AND_PREPARING;
- mPlayer->seekToAsync(0, MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC /* mode */,
- true /* needNotify */);
- return OK;
default:
return INVALID_OPERATION;
};
@@ -293,7 +286,6 @@
status_t NuPlayer2Driver::start_l() {
switch (mState) {
case STATE_PAUSED:
- case STATE_STOPPED_AND_PREPARED:
case STATE_PREPARED:
{
mPlayer->start();
@@ -320,34 +312,6 @@
return OK;
}
-status_t NuPlayer2Driver::stop() {
- ALOGD("stop(%p)", this);
- Mutex::Autolock autoLock(mLock);
-
- switch (mState) {
- case STATE_RUNNING:
- mPlayer->pause();
- // fall through
-
- case STATE_PAUSED:
- mState = STATE_STOPPED;
- //notifyListener_l(MEDIA2_STOPPED);
- break;
-
- case STATE_PREPARED:
- case STATE_STOPPED:
- case STATE_STOPPED_AND_PREPARING:
- case STATE_STOPPED_AND_PREPARED:
- mState = STATE_STOPPED;
- break;
-
- default:
- return INVALID_OPERATION;
- }
-
- return OK;
-}
-
status_t NuPlayer2Driver::pause() {
ALOGD("pause(%p)", this);
// The NuPlayerRenderer may get flushed if pause for long enough, e.g. the pause timeout tear
@@ -391,7 +355,6 @@
mState = STATE_PAUSED;
} else if (rate.mSpeed != 0.f
&& (mState == STATE_PAUSED
- || mState == STATE_STOPPED_AND_PREPARED
|| mState == STATE_PREPARED)) {
err = start_l();
}
@@ -419,7 +382,6 @@
switch (mState) {
case STATE_PREPARED:
- case STATE_STOPPED_AND_PREPARED:
case STATE_PAUSED:
case STATE_RUNNING:
{
@@ -601,10 +563,6 @@
break;
}
- if (mState != STATE_STOPPED) {
- // notifyListener_l(MEDIA2_STOPPED);
- }
-
mState = STATE_RESET_IN_PROGRESS;
mPlayer->resetAsync();
@@ -780,20 +738,7 @@
ALOGV("notifySeekComplete(%p)", this);
Mutex::Autolock autoLock(mLock);
mSeekInProgress = false;
- notifySeekComplete_l(srcId);
-}
-
-void NuPlayer2Driver::notifySeekComplete_l(int64_t srcId) {
- bool wasSeeking = true;
- if (mState == STATE_STOPPED_AND_PREPARING) {
- wasSeeking = false;
- mState = STATE_STOPPED_AND_PREPARED;
- mCondition.broadcast();
- } else if (mState == STATE_STOPPED) {
- // no need to notify listener
- return;
- }
- notifyListener_l(srcId, wasSeeking ? MEDIA2_SEEK_COMPLETE : MEDIA2_PREPARED);
+ notifyListener_l(srcId, MEDIA2_SEEK_COMPLETE);
}
status_t NuPlayer2Driver::dump(
@@ -1078,9 +1023,6 @@
case STATE_RUNNING: rval = "RUNNING"; break;
case STATE_PAUSED: rval = "PAUSED"; break;
case STATE_RESET_IN_PROGRESS: rval = "RESET_IN_PROGRESS"; break;
- case STATE_STOPPED: rval = "STOPPED"; break;
- case STATE_STOPPED_AND_PREPARING: rval = "STOPPED_AND_PREPARING"; break;
- case STATE_STOPPED_AND_PREPARED: rval = "STOPPED_AND_PREPARED"; break;
default:
// yes, this buffer is shared and vulnerable to races
snprintf(rawbuffer, sizeof(rawbuffer), "%d", state);
diff --git a/media/libmediaplayer2/nuplayer2/NuPlayer2Driver.h b/media/libmediaplayer2/nuplayer2/NuPlayer2Driver.h
index 4da2566..6d5a007 100644
--- a/media/libmediaplayer2/nuplayer2/NuPlayer2Driver.h
+++ b/media/libmediaplayer2/nuplayer2/NuPlayer2Driver.h
@@ -40,31 +40,31 @@
BufferingSettings* buffering /* nonnull */) override;
virtual status_t setBufferingSettings(const BufferingSettings& buffering) override;
- virtual status_t prepareAsync();
- virtual status_t start();
- virtual status_t stop();
- virtual status_t pause();
- virtual bool isPlaying();
- virtual status_t setPlaybackSettings(const AudioPlaybackRate &rate);
- virtual status_t getPlaybackSettings(AudioPlaybackRate *rate);
- virtual status_t setSyncSettings(const AVSyncSettings &sync, float videoFpsHint);
- virtual status_t getSyncSettings(AVSyncSettings *sync, float *videoFps);
+ virtual status_t prepareAsync() override;
+ virtual status_t start() override;
+ virtual status_t pause() override;
+ virtual bool isPlaying() override;
+ virtual status_t setPlaybackSettings(const AudioPlaybackRate &rate) override;
+ virtual status_t getPlaybackSettings(AudioPlaybackRate *rate) override;
+ virtual status_t setSyncSettings(const AVSyncSettings &sync, float videoFpsHint) override;
+ virtual status_t getSyncSettings(AVSyncSettings *sync, float *videoFps) override;
virtual status_t seekTo(
- int64_t msec, MediaPlayer2SeekMode mode = MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC);
- virtual status_t getCurrentPosition(int64_t *msec);
- virtual status_t getDuration(int64_t *msec);
- virtual status_t reset();
+ int64_t msec,
+ MediaPlayer2SeekMode mode = MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC) override;
+ virtual status_t getCurrentPosition(int64_t *msec) override;
+ virtual status_t getDuration(int64_t *msec) override;
+ virtual status_t reset() override;
virtual status_t notifyAt(int64_t mediaTimeUs) override;
- virtual status_t setLooping(int loop);
- virtual status_t invoke(const Parcel &request, Parcel *reply);
- virtual void setAudioSink(const sp<AudioSink> &audioSink);
- virtual status_t setParameter(int key, const Parcel &request);
- virtual status_t getParameter(int key, Parcel *reply);
+ virtual status_t setLooping(int loop) override;
+ virtual status_t invoke(const Parcel &request, Parcel *reply) override;
+ virtual void setAudioSink(const sp<AudioSink> &audioSink) override;
+ virtual status_t setParameter(int key, const Parcel &request) override;
+ virtual status_t getParameter(int key, Parcel *reply) override;
virtual status_t getMetadata(
- const media::Metadata::Filter& ids, Parcel *records);
+ const media::Metadata::Filter& ids, Parcel *records) override;
- virtual status_t dump(int fd, const Vector<String16> &args) const;
+ virtual status_t dump(int fd, const Vector<String16> &args) const override;
virtual void onMessageReceived(const sp<AMessage> &msg) override;
@@ -77,7 +77,6 @@
void notifyMoreRebufferingTimeUs(int64_t srcId, int64_t timeUs);
void notifyRebufferingWhenExit(int64_t srcId, bool status);
void notifySeekComplete(int64_t srcId);
- void notifySeekComplete_l(int64_t srcId);
void notifyListener(int64_t srcId, int msg, int ext1 = 0, int ext2 = 0,
const Parcel *in = NULL);
void notifyFlagsChanged(int64_t srcId, uint32_t flags);
@@ -99,9 +98,6 @@
STATE_RUNNING,
STATE_PAUSED,
STATE_RESET_IN_PROGRESS,
- STATE_STOPPED, // equivalent to PAUSED
- STATE_STOPPED_AND_PREPARING, // equivalent to PAUSED, but seeking
- STATE_STOPPED_AND_PREPARED, // equivalent to PAUSED, but seek complete
};
std::string stateString(State state);