MediaPlayer2: add getMediaPlayer2State
Test: MediaPlayer2 plays
Bug: 63934228
Change-Id: I1a5290de44e0ba78fa6adc055ffdd18a4f259f15
diff --git a/media/libmediaplayer2/mediaplayer2.cpp b/media/libmediaplayer2/mediaplayer2.cpp
index c465caa..9e96a2b 100644
--- a/media/libmediaplayer2/mediaplayer2.cpp
+++ b/media/libmediaplayer2/mediaplayer2.cpp
@@ -860,6 +860,27 @@
return false;
}
+mediaplayer2_states MediaPlayer2::getMediaPlayer2State() {
+ Mutex::Autolock _l(mLock);
+ if (mCurrentState & MEDIA_PLAYER2_STATE_ERROR) {
+ return MEDIAPLAYER2_STATE_ERROR;
+ }
+ if (mPlayer == 0
+ || (mCurrentState &
+ (MEDIA_PLAYER2_IDLE | MEDIA_PLAYER2_INITIALIZED | MEDIA_PLAYER2_PREPARING))) {
+ return MEDIAPLAYER2_STATE_IDLE;
+ }
+ if (mCurrentState & MEDIA_PLAYER2_STARTED) {
+ return MEDIAPLAYER2_STATE_PLAYING;
+ }
+ if (mCurrentState
+ & (MEDIA_PLAYER2_PAUSED | MEDIA_PLAYER2_STOPPED | MEDIA_PLAYER2_PLAYBACK_COMPLETE)) {
+ return MEDIAPLAYER2_STATE_PAUSED;
+ }
+ // now only mCurrentState & MEDIA_PLAYER2_PREPARED is true
+ return MEDIAPLAYER2_STATE_PREPARED;
+}
+
status_t MediaPlayer2::setPlaybackSettings(const AudioPlaybackRate& rate) {
ALOGV("setPlaybackSettings: %f %f %d %d",
rate.mSpeed, rate.mPitch, rate.mFallbackMode, rate.mStretchMode);