Loading media/libmediaplayerservice/nuplayer/NuPlayer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -796,7 +796,7 @@ void NuPlayer::notifyListener(int msg, int ext1, int ext2) { return; } driver->sendEvent(msg, ext1, ext2); driver->notifyListener(msg, ext1, ext2); } void NuPlayer::flushDecoder(bool audio, bool needShutdown) { Loading media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +14 −3 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ NuPlayerDriver::NuPlayerDriver() mNumFramesDropped(0), mLooper(new ALooper), mState(UNINITIALIZED), mAtEOS(false), mStartupSeekTimeUs(-1) { mLooper->setName("NuPlayerDriver Looper"); Loading Loading @@ -106,7 +107,7 @@ status_t NuPlayerDriver::prepare() { } status_t NuPlayerDriver::prepareAsync() { sendEvent(MEDIA_PREPARED); notifyListener(MEDIA_PREPARED); return OK; } Loading @@ -117,6 +118,7 @@ status_t NuPlayerDriver::start() { return INVALID_OPERATION; case STOPPED: { mAtEOS = false; mPlayer->start(); if (mStartupSeekTimeUs >= 0) { Loading Loading @@ -173,7 +175,7 @@ status_t NuPlayerDriver::pause() { } bool NuPlayerDriver::isPlaying() { return mState == PLAYING; return mState == PLAYING && !mAtEOS; } status_t NuPlayerDriver::seekTo(int msec) { Loading @@ -190,6 +192,7 @@ status_t NuPlayerDriver::seekTo(int msec) { case PLAYING: case PAUSED: { mAtEOS = false; mPlayer->seekToAsync(seekTimeUs); break; } Loading Loading @@ -291,7 +294,7 @@ void NuPlayerDriver::notifyPosition(int64_t positionUs) { } void NuPlayerDriver::notifySeekComplete() { sendEvent(MEDIA_SEEK_COMPLETE); notifyListener(MEDIA_SEEK_COMPLETE); } void NuPlayerDriver::notifyFrameStats( Loading Loading @@ -320,4 +323,12 @@ status_t NuPlayerDriver::dump(int fd, const Vector<String16> &args) const { return OK; } void NuPlayerDriver::notifyListener(int msg, int ext1, int ext2) { if (msg == MEDIA_PLAYBACK_COMPLETE || msg == MEDIA_ERROR) { mAtEOS = true; } sendEvent(msg, ext1, ext2); } } // namespace android media/libmediaplayerservice/nuplayer/NuPlayerDriver.h +2 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ struct NuPlayerDriver : public MediaPlayerInterface { void notifyPosition(int64_t positionUs); void notifySeekComplete(); void notifyFrameStats(int64_t numFramesTotal, int64_t numFramesDropped); void notifyListener(int msg, int ext1 = 0, int ext2 = 0); protected: virtual ~NuPlayerDriver(); Loading Loading @@ -95,6 +96,7 @@ private: }; State mState; bool mAtEOS; int64_t mStartupSeekTimeUs; Loading Loading
media/libmediaplayerservice/nuplayer/NuPlayer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -796,7 +796,7 @@ void NuPlayer::notifyListener(int msg, int ext1, int ext2) { return; } driver->sendEvent(msg, ext1, ext2); driver->notifyListener(msg, ext1, ext2); } void NuPlayer::flushDecoder(bool audio, bool needShutdown) { Loading
media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +14 −3 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ NuPlayerDriver::NuPlayerDriver() mNumFramesDropped(0), mLooper(new ALooper), mState(UNINITIALIZED), mAtEOS(false), mStartupSeekTimeUs(-1) { mLooper->setName("NuPlayerDriver Looper"); Loading Loading @@ -106,7 +107,7 @@ status_t NuPlayerDriver::prepare() { } status_t NuPlayerDriver::prepareAsync() { sendEvent(MEDIA_PREPARED); notifyListener(MEDIA_PREPARED); return OK; } Loading @@ -117,6 +118,7 @@ status_t NuPlayerDriver::start() { return INVALID_OPERATION; case STOPPED: { mAtEOS = false; mPlayer->start(); if (mStartupSeekTimeUs >= 0) { Loading Loading @@ -173,7 +175,7 @@ status_t NuPlayerDriver::pause() { } bool NuPlayerDriver::isPlaying() { return mState == PLAYING; return mState == PLAYING && !mAtEOS; } status_t NuPlayerDriver::seekTo(int msec) { Loading @@ -190,6 +192,7 @@ status_t NuPlayerDriver::seekTo(int msec) { case PLAYING: case PAUSED: { mAtEOS = false; mPlayer->seekToAsync(seekTimeUs); break; } Loading Loading @@ -291,7 +294,7 @@ void NuPlayerDriver::notifyPosition(int64_t positionUs) { } void NuPlayerDriver::notifySeekComplete() { sendEvent(MEDIA_SEEK_COMPLETE); notifyListener(MEDIA_SEEK_COMPLETE); } void NuPlayerDriver::notifyFrameStats( Loading Loading @@ -320,4 +323,12 @@ status_t NuPlayerDriver::dump(int fd, const Vector<String16> &args) const { return OK; } void NuPlayerDriver::notifyListener(int msg, int ext1, int ext2) { if (msg == MEDIA_PLAYBACK_COMPLETE || msg == MEDIA_ERROR) { mAtEOS = true; } sendEvent(msg, ext1, ext2); } } // namespace android
media/libmediaplayerservice/nuplayer/NuPlayerDriver.h +2 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ struct NuPlayerDriver : public MediaPlayerInterface { void notifyPosition(int64_t positionUs); void notifySeekComplete(); void notifyFrameStats(int64_t numFramesTotal, int64_t numFramesDropped); void notifyListener(int msg, int ext1 = 0, int ext2 = 0); protected: virtual ~NuPlayerDriver(); Loading Loading @@ -95,6 +96,7 @@ private: }; State mState; bool mAtEOS; int64_t mStartupSeekTimeUs; Loading