Loading media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Types.h +10 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,16 @@ enum media2_info_type { MEDIA2_INFO_TIMED_TEXT_ERROR = 900, }; enum media_player2_states { // Do not change these values without updating their counterparts in MediaPlayer2.java enum mediaplayer2_states { MEDIAPLAYER2_STATE_IDLE = 1, MEDIAPLAYER2_STATE_PREPARED = 2, MEDIAPLAYER2_STATE_PLAYING = 3, MEDIAPLAYER2_STATE_PAUSED = 4, MEDIAPLAYER2_STATE_ERROR = 5, }; enum media_player2_internal_states { MEDIA_PLAYER2_STATE_ERROR = 0, MEDIA_PLAYER2_IDLE = 1 << 0, MEDIA_PLAYER2_INITIALIZED = 1 << 1, Loading media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h +2 −1 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ public: status_t stop(); status_t pause(); bool isPlaying(); mediaplayer2_states getMediaPlayer2State(); status_t setPlaybackSettings(const AudioPlaybackRate& rate); status_t getPlaybackSettings(AudioPlaybackRate* rate /* nonnull */); status_t setSyncSettings(const AVSyncSettings& sync, float videoFpsHint); Loading Loading @@ -145,7 +146,7 @@ private: mutable Mutex mLock; Mutex mNotifyLock; sp<MediaPlayer2Listener> mListener; media_player2_states mCurrentState; media_player2_internal_states mCurrentState; int64_t mCurrentPosition; MediaPlayer2SeekMode mCurrentSeekMode; int64_t mSeekPosition; Loading media/libmediaplayer2/mediaplayer2.cpp +21 −0 Original line number Diff line number Diff line Loading @@ -860,6 +860,27 @@ bool MediaPlayer2::isPlaying() { 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); Loading Loading
media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Types.h +10 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,16 @@ enum media2_info_type { MEDIA2_INFO_TIMED_TEXT_ERROR = 900, }; enum media_player2_states { // Do not change these values without updating their counterparts in MediaPlayer2.java enum mediaplayer2_states { MEDIAPLAYER2_STATE_IDLE = 1, MEDIAPLAYER2_STATE_PREPARED = 2, MEDIAPLAYER2_STATE_PLAYING = 3, MEDIAPLAYER2_STATE_PAUSED = 4, MEDIAPLAYER2_STATE_ERROR = 5, }; enum media_player2_internal_states { MEDIA_PLAYER2_STATE_ERROR = 0, MEDIA_PLAYER2_IDLE = 1 << 0, MEDIA_PLAYER2_INITIALIZED = 1 << 1, Loading
media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h +2 −1 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ public: status_t stop(); status_t pause(); bool isPlaying(); mediaplayer2_states getMediaPlayer2State(); status_t setPlaybackSettings(const AudioPlaybackRate& rate); status_t getPlaybackSettings(AudioPlaybackRate* rate /* nonnull */); status_t setSyncSettings(const AVSyncSettings& sync, float videoFpsHint); Loading Loading @@ -145,7 +146,7 @@ private: mutable Mutex mLock; Mutex mNotifyLock; sp<MediaPlayer2Listener> mListener; media_player2_states mCurrentState; media_player2_internal_states mCurrentState; int64_t mCurrentPosition; MediaPlayer2SeekMode mCurrentSeekMode; int64_t mSeekPosition; Loading
media/libmediaplayer2/mediaplayer2.cpp +21 −0 Original line number Diff line number Diff line Loading @@ -860,6 +860,27 @@ bool MediaPlayer2::isPlaying() { 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); Loading