Loading media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +26 −4 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ NuPlayerDriver::NuPlayerDriver() mLooper(new ALooper), mPlayerFlags(0), mAtEOS(false), mLooping(false), mStartupSeekTimeUs(-1) { mLooper->setName("NuPlayerDriver Looper"); Loading Loading @@ -76,6 +77,7 @@ status_t NuPlayerDriver::setDataSource( const KeyedVector<String8, String8> *headers) { Mutex::Autolock autoLock(mLock); ALOGV("setDataSource: url=%s", url); if (mState != STATE_IDLE) { return INVALID_OPERATION; } Loading @@ -94,6 +96,7 @@ status_t NuPlayerDriver::setDataSource( status_t NuPlayerDriver::setDataSource(int fd, int64_t offset, int64_t length) { Mutex::Autolock autoLock(mLock); ALOGV("setDataSource: fd=%d", fd); if (mState != STATE_IDLE) { return INVALID_OPERATION; } Loading @@ -112,6 +115,7 @@ status_t NuPlayerDriver::setDataSource(int fd, int64_t offset, int64_t length) { status_t NuPlayerDriver::setDataSource(const sp<IStreamSource> &source) { Mutex::Autolock autoLock(mLock); ALOGV("setDataSource: stream source"); if (mState != STATE_IDLE) { return INVALID_OPERATION; } Loading Loading @@ -367,12 +371,14 @@ status_t NuPlayerDriver::reset() { mDurationUs = -1; mPositionUs = -1; mStartupSeekTimeUs = -1; mLooping = false; return OK; } status_t NuPlayerDriver::setLooping(int /* loop */) { return INVALID_OPERATION; status_t NuPlayerDriver::setLooping(int loop) { mLooping = loop != 0; return OK; } player_type NuPlayerDriver::playerType() { Loading Loading @@ -523,8 +529,24 @@ status_t NuPlayerDriver::dump( void NuPlayerDriver::notifyListener( int msg, int ext1, int ext2, const Parcel *in) { if (msg == MEDIA_PLAYBACK_COMPLETE || msg == MEDIA_ERROR) { switch (msg) { case MEDIA_PLAYBACK_COMPLETE: { if (mLooping) { mPlayer->seekToAsync(0); break; } // fall through } case MEDIA_ERROR: { mAtEOS = true; break; } default: break; } sendEvent(msg, ext1, ext2, in); Loading media/libmediaplayerservice/nuplayer/NuPlayerDriver.h +1 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,7 @@ private: uint32_t mPlayerFlags; bool mAtEOS; bool mLooping; int64_t mStartupSeekTimeUs; Loading Loading
media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +26 −4 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ NuPlayerDriver::NuPlayerDriver() mLooper(new ALooper), mPlayerFlags(0), mAtEOS(false), mLooping(false), mStartupSeekTimeUs(-1) { mLooper->setName("NuPlayerDriver Looper"); Loading Loading @@ -76,6 +77,7 @@ status_t NuPlayerDriver::setDataSource( const KeyedVector<String8, String8> *headers) { Mutex::Autolock autoLock(mLock); ALOGV("setDataSource: url=%s", url); if (mState != STATE_IDLE) { return INVALID_OPERATION; } Loading @@ -94,6 +96,7 @@ status_t NuPlayerDriver::setDataSource( status_t NuPlayerDriver::setDataSource(int fd, int64_t offset, int64_t length) { Mutex::Autolock autoLock(mLock); ALOGV("setDataSource: fd=%d", fd); if (mState != STATE_IDLE) { return INVALID_OPERATION; } Loading @@ -112,6 +115,7 @@ status_t NuPlayerDriver::setDataSource(int fd, int64_t offset, int64_t length) { status_t NuPlayerDriver::setDataSource(const sp<IStreamSource> &source) { Mutex::Autolock autoLock(mLock); ALOGV("setDataSource: stream source"); if (mState != STATE_IDLE) { return INVALID_OPERATION; } Loading Loading @@ -367,12 +371,14 @@ status_t NuPlayerDriver::reset() { mDurationUs = -1; mPositionUs = -1; mStartupSeekTimeUs = -1; mLooping = false; return OK; } status_t NuPlayerDriver::setLooping(int /* loop */) { return INVALID_OPERATION; status_t NuPlayerDriver::setLooping(int loop) { mLooping = loop != 0; return OK; } player_type NuPlayerDriver::playerType() { Loading Loading @@ -523,8 +529,24 @@ status_t NuPlayerDriver::dump( void NuPlayerDriver::notifyListener( int msg, int ext1, int ext2, const Parcel *in) { if (msg == MEDIA_PLAYBACK_COMPLETE || msg == MEDIA_ERROR) { switch (msg) { case MEDIA_PLAYBACK_COMPLETE: { if (mLooping) { mPlayer->seekToAsync(0); break; } // fall through } case MEDIA_ERROR: { mAtEOS = true; break; } default: break; } sendEvent(msg, ext1, ext2, in); Loading
media/libmediaplayerservice/nuplayer/NuPlayerDriver.h +1 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,7 @@ private: uint32_t mPlayerFlags; bool mAtEOS; bool mLooping; int64_t mStartupSeekTimeUs; Loading