Loading media/libmediaplayer2/include/mediaplayer2/MediaPlayer2AudioOutput.h +0 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,6 @@ public: static bool isOnEmulator(); static int getMinBufferCount(); void setNextOutput(const sp<MediaPlayer2AudioOutput>& nextOutput); virtual bool needsTrailingPadding() { return true; // TODO: return correct value. Loading media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Interface.h +3 −3 Original line number Diff line number Diff line Loading @@ -200,9 +200,9 @@ public: return OK; } virtual status_t seekTo( int msec, MediaPlayer2SeekMode mode = MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC) = 0; virtual status_t getCurrentPosition(int *msec) = 0; virtual status_t getDuration(int *msec) = 0; int64_t msec, MediaPlayer2SeekMode mode = MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC) = 0; virtual status_t getCurrentPosition(int64_t *msec) = 0; virtual status_t getDuration(int64_t *msec) = 0; virtual status_t reset() = 0; virtual status_t notifyAt(int64_t /* mediaTimeUs */) { return INVALID_OPERATION; Loading media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h +7 −8 Original line number Diff line number Diff line Loading @@ -77,11 +77,11 @@ public: status_t getVideoWidth(int *w); status_t getVideoHeight(int *h); status_t seekTo( int msec, int64_t msec, MediaPlayer2SeekMode mode = MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC); status_t notifyAt(int64_t mediaTimeUs); status_t getCurrentPosition(int *msec); status_t getDuration(int *msec); status_t getCurrentPosition(int64_t *msec); status_t getDuration(int64_t *msec); status_t reset(); status_t setAudioStreamType(audio_stream_type_t type); status_t getAudioStreamType(audio_stream_type_t *type); Loading @@ -99,7 +99,6 @@ public: status_t attachAuxEffect(int effectId); status_t setParameter(int key, const Parcel& request); status_t getParameter(int key, Parcel* reply); status_t setNextMediaPlayer(const sp<MediaPlayer2>& player); // Modular DRM status_t prepareDrm(const uint8_t uuid[16], const Vector<uint8_t>& drmSessionId); Loading Loading @@ -131,9 +130,9 @@ private: status_t setAudioAttributes_l(const Parcel &request); void clear_l(); status_t seekTo_l(int msec, MediaPlayer2SeekMode mode); status_t seekTo_l(int64_t msec, MediaPlayer2SeekMode mode); status_t prepareAsync_l(); status_t getDuration_l(int *msec); status_t getDuration_l(int64_t *msec); status_t reset_l(); status_t checkStateForKeySet_l(int key); Loading @@ -147,9 +146,9 @@ private: Mutex mNotifyLock; sp<MediaPlayer2Listener> mListener; media_player2_states mCurrentState; int mCurrentPosition; int64_t mCurrentPosition; MediaPlayer2SeekMode mCurrentSeekMode; int mSeekPosition; int64_t mSeekPosition; MediaPlayer2SeekMode mSeekMode; audio_stream_type_t mStreamType; Parcel* mAudioAttributesParcel; Loading media/libmediaplayer2/mediaplayer2.cpp +51 −47 Original line number Diff line number Diff line Loading @@ -936,27 +936,27 @@ status_t MediaPlayer2::getVideoHeight(int *h) { return NO_ERROR; } status_t MediaPlayer2::getCurrentPosition(int *msec) { status_t MediaPlayer2::getCurrentPosition(int64_t *msec) { ALOGV("getCurrentPosition"); Mutex::Autolock _l(mLock); if (mPlayer == 0) { return INVALID_OPERATION; } if (mCurrentPosition >= 0) { ALOGV("Using cached seek position: %d", mCurrentPosition); ALOGV("Using cached seek position: %lld", (long long)mCurrentPosition); *msec = mCurrentPosition; return NO_ERROR; } status_t ret = mPlayer->getCurrentPosition(msec); if (ret == NO_ERROR) { ALOGV("getCurrentPosition = %d", *msec); ALOGV("getCurrentPosition = %lld", (long long)*msec); } else { ALOGE("getCurrentPosition returned %d", ret); } return ret; } status_t MediaPlayer2::getDuration(int *msec) { status_t MediaPlayer2::getDuration(int64_t *msec) { Mutex::Autolock _l(mLock); ALOGV("getDuration_l"); bool isValidState = (mCurrentState & (MEDIA_PLAYER2_PREPARED | MEDIA_PLAYER2_STARTED | Loading @@ -966,11 +966,11 @@ status_t MediaPlayer2::getDuration(int *msec) { mPlayer.get(), mCurrentState); return INVALID_OPERATION; } int durationMs; int64_t durationMs; status_t ret = mPlayer->getDuration(&durationMs); if (ret == NO_ERROR) { ALOGV("getDuration = %d", durationMs); ALOGV("getDuration = %lld", (long long)durationMs); } else { ALOGE("getDuration returned %d", ret); // Do not enter error state just because no duration was available. Loading @@ -983,16 +983,20 @@ status_t MediaPlayer2::getDuration(int *msec) { return OK; } status_t MediaPlayer2::seekTo_l(int msec, MediaPlayer2SeekMode mode) { ALOGV("seekTo (%d, %d)", msec, mode); if ((mPlayer != 0) && ( mCurrentState & ( MEDIA_PLAYER2_STARTED | MEDIA_PLAYER2_PREPARED | status_t MediaPlayer2::seekTo_l(int64_t msec, MediaPlayer2SeekMode mode) { ALOGV("seekTo (%lld, %d)", (long long)msec, mode); if ((mPlayer == 0) || !(mCurrentState & (MEDIA_PLAYER2_STARTED | MEDIA_PLAYER2_PREPARED | MEDIA_PLAYER2_PAUSED | MEDIA_PLAYER2_PLAYBACK_COMPLETE))) { ALOGE("Attempt to perform seekTo in wrong state: mPlayer=%p, mCurrentState=%u", mPlayer.get(), mCurrentState); return INVALID_OPERATION; } if (msec < 0) { ALOGW("Attempt to seek to invalid position: %d", msec); ALOGW("Attempt to seek to invalid position: %lld", (long long)msec); msec = 0; } int durationMs; int64_t durationMs; status_t err = mPlayer->getDuration(&durationMs); if (err != OK) { Loading @@ -1001,10 +1005,8 @@ status_t MediaPlayer2::seekTo_l(int msec, MediaPlayer2SeekMode mode) { } if (msec > durationMs) { ALOGW("Attempt to seek to past end of file: request = %d, " "durationMs = %d", msec, durationMs); ALOGW("Attempt to seek to past end of file: request = %lld, durationMs = %lld", (long long)msec, (long long)durationMs); msec = durationMs; } Loading @@ -1016,17 +1018,12 @@ status_t MediaPlayer2::seekTo_l(int msec, MediaPlayer2SeekMode mode) { mSeekPosition = msec; mSeekMode = mode; return mPlayer->seekTo(msec, mode); } else { ALOGV("Seek in progress - queue up seekTo[%d, %d]", msec, mode); return NO_ERROR; } } ALOGE("Attempt to perform seekTo in wrong state: mPlayer=%p, mCurrentState=%u", mPlayer.get(), mCurrentState); return INVALID_OPERATION; ALOGV("Seek in progress - queue up seekTo[%lld, %d]", (long long)msec, mode); return NO_ERROR; } status_t MediaPlayer2::seekTo(int msec, MediaPlayer2SeekMode mode) { status_t MediaPlayer2::seekTo(int64_t msec, MediaPlayer2SeekMode mode) { mLockThreadId = getThreadId(); Mutex::Autolock _l(mLock); status_t result = seekTo_l(msec, mode); Loading Loading @@ -1228,6 +1225,16 @@ status_t MediaPlayer2::setParameter(int key, const Parcel& request) { status_t MediaPlayer2::getParameter(int key, Parcel *reply) { ALOGV("MediaPlayer2::getParameter(%d)", key); Mutex::Autolock _l(mLock); if (key == MEDIA2_KEY_PARAMETER_AUDIO_ATTRIBUTES) { if (reply == NULL) { return BAD_VALUE; } if (mAudioAttributesParcel != NULL) { reply->appendFrom(mAudioAttributesParcel, 0, mAudioAttributesParcel->dataSize()); } return OK; } if (mPlayer == NULL) { ALOGV("getParameter: no active player"); return INVALID_OPERATION; Loading Loading @@ -1339,7 +1346,8 @@ void MediaPlayer2::notify(int64_t srcId, int msg, int ext1, int ext2, const Parc case MEDIA2_SEEK_COMPLETE: ALOGV("Received seek complete"); if (mSeekPosition != mCurrentPosition || (mSeekMode != mCurrentSeekMode)) { ALOGV("Executing queued seekTo(%d, %d)", mCurrentPosition, mCurrentSeekMode); ALOGV("Executing queued seekTo(%lld, %d)", (long long)mCurrentPosition, mCurrentSeekMode); mSeekPosition = -1; mSeekMode = MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC; seekTo_l(mCurrentPosition, mCurrentSeekMode); Loading Loading @@ -1387,10 +1395,6 @@ void MediaPlayer2::notify(int64_t srcId, int msg, int ext1, int ext2, const Parc } } status_t MediaPlayer2::setNextMediaPlayer(const sp<MediaPlayer2>& /* next */) { return INVALID_OPERATION; } // Modular DRM status_t MediaPlayer2::prepareDrm(const uint8_t uuid[16], const Vector<uint8_t>& drmSessionId) { // TODO change to ALOGV Loading media/libmediaplayer2/nuplayer2/NuPlayer2.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -2765,10 +2765,10 @@ void NuPlayer2::onSourceNotify(const sp<AMessage> &msg) { break; } int posMs; int64_t posMs; int64_t timeUs, posUs; driver->getCurrentPosition(&posMs); posUs = (int64_t) posMs * 1000ll; posUs = posMs * 1000ll; CHECK(buffer->meta()->findInt64("timeUs", &timeUs)); if (posUs < timeUs) { Loading Loading
media/libmediaplayer2/include/mediaplayer2/MediaPlayer2AudioOutput.h +0 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,6 @@ public: static bool isOnEmulator(); static int getMinBufferCount(); void setNextOutput(const sp<MediaPlayer2AudioOutput>& nextOutput); virtual bool needsTrailingPadding() { return true; // TODO: return correct value. Loading
media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Interface.h +3 −3 Original line number Diff line number Diff line Loading @@ -200,9 +200,9 @@ public: return OK; } virtual status_t seekTo( int msec, MediaPlayer2SeekMode mode = MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC) = 0; virtual status_t getCurrentPosition(int *msec) = 0; virtual status_t getDuration(int *msec) = 0; int64_t msec, MediaPlayer2SeekMode mode = MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC) = 0; virtual status_t getCurrentPosition(int64_t *msec) = 0; virtual status_t getDuration(int64_t *msec) = 0; virtual status_t reset() = 0; virtual status_t notifyAt(int64_t /* mediaTimeUs */) { return INVALID_OPERATION; Loading
media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h +7 −8 Original line number Diff line number Diff line Loading @@ -77,11 +77,11 @@ public: status_t getVideoWidth(int *w); status_t getVideoHeight(int *h); status_t seekTo( int msec, int64_t msec, MediaPlayer2SeekMode mode = MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC); status_t notifyAt(int64_t mediaTimeUs); status_t getCurrentPosition(int *msec); status_t getDuration(int *msec); status_t getCurrentPosition(int64_t *msec); status_t getDuration(int64_t *msec); status_t reset(); status_t setAudioStreamType(audio_stream_type_t type); status_t getAudioStreamType(audio_stream_type_t *type); Loading @@ -99,7 +99,6 @@ public: status_t attachAuxEffect(int effectId); status_t setParameter(int key, const Parcel& request); status_t getParameter(int key, Parcel* reply); status_t setNextMediaPlayer(const sp<MediaPlayer2>& player); // Modular DRM status_t prepareDrm(const uint8_t uuid[16], const Vector<uint8_t>& drmSessionId); Loading Loading @@ -131,9 +130,9 @@ private: status_t setAudioAttributes_l(const Parcel &request); void clear_l(); status_t seekTo_l(int msec, MediaPlayer2SeekMode mode); status_t seekTo_l(int64_t msec, MediaPlayer2SeekMode mode); status_t prepareAsync_l(); status_t getDuration_l(int *msec); status_t getDuration_l(int64_t *msec); status_t reset_l(); status_t checkStateForKeySet_l(int key); Loading @@ -147,9 +146,9 @@ private: Mutex mNotifyLock; sp<MediaPlayer2Listener> mListener; media_player2_states mCurrentState; int mCurrentPosition; int64_t mCurrentPosition; MediaPlayer2SeekMode mCurrentSeekMode; int mSeekPosition; int64_t mSeekPosition; MediaPlayer2SeekMode mSeekMode; audio_stream_type_t mStreamType; Parcel* mAudioAttributesParcel; Loading
media/libmediaplayer2/mediaplayer2.cpp +51 −47 Original line number Diff line number Diff line Loading @@ -936,27 +936,27 @@ status_t MediaPlayer2::getVideoHeight(int *h) { return NO_ERROR; } status_t MediaPlayer2::getCurrentPosition(int *msec) { status_t MediaPlayer2::getCurrentPosition(int64_t *msec) { ALOGV("getCurrentPosition"); Mutex::Autolock _l(mLock); if (mPlayer == 0) { return INVALID_OPERATION; } if (mCurrentPosition >= 0) { ALOGV("Using cached seek position: %d", mCurrentPosition); ALOGV("Using cached seek position: %lld", (long long)mCurrentPosition); *msec = mCurrentPosition; return NO_ERROR; } status_t ret = mPlayer->getCurrentPosition(msec); if (ret == NO_ERROR) { ALOGV("getCurrentPosition = %d", *msec); ALOGV("getCurrentPosition = %lld", (long long)*msec); } else { ALOGE("getCurrentPosition returned %d", ret); } return ret; } status_t MediaPlayer2::getDuration(int *msec) { status_t MediaPlayer2::getDuration(int64_t *msec) { Mutex::Autolock _l(mLock); ALOGV("getDuration_l"); bool isValidState = (mCurrentState & (MEDIA_PLAYER2_PREPARED | MEDIA_PLAYER2_STARTED | Loading @@ -966,11 +966,11 @@ status_t MediaPlayer2::getDuration(int *msec) { mPlayer.get(), mCurrentState); return INVALID_OPERATION; } int durationMs; int64_t durationMs; status_t ret = mPlayer->getDuration(&durationMs); if (ret == NO_ERROR) { ALOGV("getDuration = %d", durationMs); ALOGV("getDuration = %lld", (long long)durationMs); } else { ALOGE("getDuration returned %d", ret); // Do not enter error state just because no duration was available. Loading @@ -983,16 +983,20 @@ status_t MediaPlayer2::getDuration(int *msec) { return OK; } status_t MediaPlayer2::seekTo_l(int msec, MediaPlayer2SeekMode mode) { ALOGV("seekTo (%d, %d)", msec, mode); if ((mPlayer != 0) && ( mCurrentState & ( MEDIA_PLAYER2_STARTED | MEDIA_PLAYER2_PREPARED | status_t MediaPlayer2::seekTo_l(int64_t msec, MediaPlayer2SeekMode mode) { ALOGV("seekTo (%lld, %d)", (long long)msec, mode); if ((mPlayer == 0) || !(mCurrentState & (MEDIA_PLAYER2_STARTED | MEDIA_PLAYER2_PREPARED | MEDIA_PLAYER2_PAUSED | MEDIA_PLAYER2_PLAYBACK_COMPLETE))) { ALOGE("Attempt to perform seekTo in wrong state: mPlayer=%p, mCurrentState=%u", mPlayer.get(), mCurrentState); return INVALID_OPERATION; } if (msec < 0) { ALOGW("Attempt to seek to invalid position: %d", msec); ALOGW("Attempt to seek to invalid position: %lld", (long long)msec); msec = 0; } int durationMs; int64_t durationMs; status_t err = mPlayer->getDuration(&durationMs); if (err != OK) { Loading @@ -1001,10 +1005,8 @@ status_t MediaPlayer2::seekTo_l(int msec, MediaPlayer2SeekMode mode) { } if (msec > durationMs) { ALOGW("Attempt to seek to past end of file: request = %d, " "durationMs = %d", msec, durationMs); ALOGW("Attempt to seek to past end of file: request = %lld, durationMs = %lld", (long long)msec, (long long)durationMs); msec = durationMs; } Loading @@ -1016,17 +1018,12 @@ status_t MediaPlayer2::seekTo_l(int msec, MediaPlayer2SeekMode mode) { mSeekPosition = msec; mSeekMode = mode; return mPlayer->seekTo(msec, mode); } else { ALOGV("Seek in progress - queue up seekTo[%d, %d]", msec, mode); return NO_ERROR; } } ALOGE("Attempt to perform seekTo in wrong state: mPlayer=%p, mCurrentState=%u", mPlayer.get(), mCurrentState); return INVALID_OPERATION; ALOGV("Seek in progress - queue up seekTo[%lld, %d]", (long long)msec, mode); return NO_ERROR; } status_t MediaPlayer2::seekTo(int msec, MediaPlayer2SeekMode mode) { status_t MediaPlayer2::seekTo(int64_t msec, MediaPlayer2SeekMode mode) { mLockThreadId = getThreadId(); Mutex::Autolock _l(mLock); status_t result = seekTo_l(msec, mode); Loading Loading @@ -1228,6 +1225,16 @@ status_t MediaPlayer2::setParameter(int key, const Parcel& request) { status_t MediaPlayer2::getParameter(int key, Parcel *reply) { ALOGV("MediaPlayer2::getParameter(%d)", key); Mutex::Autolock _l(mLock); if (key == MEDIA2_KEY_PARAMETER_AUDIO_ATTRIBUTES) { if (reply == NULL) { return BAD_VALUE; } if (mAudioAttributesParcel != NULL) { reply->appendFrom(mAudioAttributesParcel, 0, mAudioAttributesParcel->dataSize()); } return OK; } if (mPlayer == NULL) { ALOGV("getParameter: no active player"); return INVALID_OPERATION; Loading Loading @@ -1339,7 +1346,8 @@ void MediaPlayer2::notify(int64_t srcId, int msg, int ext1, int ext2, const Parc case MEDIA2_SEEK_COMPLETE: ALOGV("Received seek complete"); if (mSeekPosition != mCurrentPosition || (mSeekMode != mCurrentSeekMode)) { ALOGV("Executing queued seekTo(%d, %d)", mCurrentPosition, mCurrentSeekMode); ALOGV("Executing queued seekTo(%lld, %d)", (long long)mCurrentPosition, mCurrentSeekMode); mSeekPosition = -1; mSeekMode = MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC; seekTo_l(mCurrentPosition, mCurrentSeekMode); Loading Loading @@ -1387,10 +1395,6 @@ void MediaPlayer2::notify(int64_t srcId, int msg, int ext1, int ext2, const Parc } } status_t MediaPlayer2::setNextMediaPlayer(const sp<MediaPlayer2>& /* next */) { return INVALID_OPERATION; } // Modular DRM status_t MediaPlayer2::prepareDrm(const uint8_t uuid[16], const Vector<uint8_t>& drmSessionId) { // TODO change to ALOGV Loading
media/libmediaplayer2/nuplayer2/NuPlayer2.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -2765,10 +2765,10 @@ void NuPlayer2::onSourceNotify(const sp<AMessage> &msg) { break; } int posMs; int64_t posMs; int64_t timeUs, posUs; driver->getCurrentPosition(&posMs); posUs = (int64_t) posMs * 1000ll; posUs = posMs * 1000ll; CHECK(buffer->meta()->findInt64("timeUs", &timeUs)); if (posUs < timeUs) { Loading