Loading media/libmediaplayerservice/nuplayer/GenericSource.cpp +23 −8 Original line number Diff line number Diff line Loading @@ -467,9 +467,17 @@ void NuPlayer::GenericSource::finishPrepareAsync() { void NuPlayer::GenericSource::notifyPreparedAndCleanup(status_t err) { if (err != OK) { { sp<DataSource> dataSource = mDataSource; sp<NuCachedSource2> cachedSource = mCachedSource; sp<DataSource> httpSource = mHttpSource; { Mutex::Autolock _l(mDisconnectLock); mDataSource.clear(); mCachedSource.clear(); mHttpSource.clear(); } } mBitrate = -1; cancelPollBuffering(); Loading Loading @@ -522,13 +530,20 @@ void NuPlayer::GenericSource::resume() { } void NuPlayer::GenericSource::disconnect() { if (mDataSource != NULL) { sp<DataSource> dataSource, httpSource; { Mutex::Autolock _l(mDisconnectLock); dataSource = mDataSource; httpSource = mHttpSource; } if (dataSource != NULL) { // disconnect data source if (mDataSource->flags() & DataSource::kIsCachingDataSource) { static_cast<NuCachedSource2 *>(mDataSource.get())->disconnect(); if (dataSource->flags() & DataSource::kIsCachingDataSource) { static_cast<NuCachedSource2 *>(dataSource.get())->disconnect(); } } else if (mHttpSource != NULL) { static_cast<HTTPBase *>(mHttpSource.get())->disconnect(); } else if (httpSource != NULL) { static_cast<HTTPBase *>(httpSource.get())->disconnect(); } } Loading media/libmediaplayerservice/nuplayer/GenericSource.h +1 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,7 @@ private: int32_t mPrevBufferPercentage; mutable Mutex mReadBufferLock; mutable Mutex mDisconnectLock; sp<ALooper> mLooper; Loading Loading
media/libmediaplayerservice/nuplayer/GenericSource.cpp +23 −8 Original line number Diff line number Diff line Loading @@ -467,9 +467,17 @@ void NuPlayer::GenericSource::finishPrepareAsync() { void NuPlayer::GenericSource::notifyPreparedAndCleanup(status_t err) { if (err != OK) { { sp<DataSource> dataSource = mDataSource; sp<NuCachedSource2> cachedSource = mCachedSource; sp<DataSource> httpSource = mHttpSource; { Mutex::Autolock _l(mDisconnectLock); mDataSource.clear(); mCachedSource.clear(); mHttpSource.clear(); } } mBitrate = -1; cancelPollBuffering(); Loading Loading @@ -522,13 +530,20 @@ void NuPlayer::GenericSource::resume() { } void NuPlayer::GenericSource::disconnect() { if (mDataSource != NULL) { sp<DataSource> dataSource, httpSource; { Mutex::Autolock _l(mDisconnectLock); dataSource = mDataSource; httpSource = mHttpSource; } if (dataSource != NULL) { // disconnect data source if (mDataSource->flags() & DataSource::kIsCachingDataSource) { static_cast<NuCachedSource2 *>(mDataSource.get())->disconnect(); if (dataSource->flags() & DataSource::kIsCachingDataSource) { static_cast<NuCachedSource2 *>(dataSource.get())->disconnect(); } } else if (mHttpSource != NULL) { static_cast<HTTPBase *>(mHttpSource.get())->disconnect(); } else if (httpSource != NULL) { static_cast<HTTPBase *>(httpSource.get())->disconnect(); } } Loading
media/libmediaplayerservice/nuplayer/GenericSource.h +1 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,7 @@ private: int32_t mPrevBufferPercentage; mutable Mutex mReadBufferLock; mutable Mutex mDisconnectLock; sp<ALooper> mLooper; Loading