diff options
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/GenericSource.cpp')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/GenericSource.cpp | 46 |
1 files changed, 19 insertions, 27 deletions
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp index ee0310e..7c99f11 100644 --- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp +++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp @@ -128,7 +128,6 @@ status_t NuPlayer::GenericSource::setDataSource( status_t NuPlayer::GenericSource::setDataSource(const sp<DataSource>& source) { resetDataSource(); - Mutex::Autolock _l(mSourceLock); mDataSource = source; return OK; } @@ -156,12 +155,7 @@ status_t NuPlayer::GenericSource::initFromDataSource() { return UNKNOWN_ERROR; } } else if (mIsStreaming) { - sp<DataSource> dataSource; - { - Mutex::Autolock _l(mSourceLock); - dataSource = mDataSource; - } - if (!dataSource->sniff(&mimeType, &confidence, &dummy)) { + if (!mDataSource->sniff(&mimeType, &confidence, &dummy)) { return UNKNOWN_ERROR; } isWidevineStreaming = !strcasecmp( @@ -179,9 +173,14 @@ status_t NuPlayer::GenericSource::initFromDataSource() { } extractor = mWVMExtractor; } else { +#ifndef TARGET_8974 + int32_t flags = AVNuUtils::get()->getFlags(); +#else + int32_t flags = 0; +#endif extractor = MediaExtractor::Create(mDataSource, mimeType.isEmpty() ? NULL : mimeType.string(), - mIsStreaming ? 0 : AVNuUtils::get()->getFlags()); + mIsStreaming ? 0 : flags); } if (extractor == NULL) { @@ -211,10 +210,12 @@ status_t NuPlayer::GenericSource::initFromDataSource() { } } +#ifndef TARGET_8974 if (AVNuUtils::get()->canUseSetBuffers(mFileMeta)) { mUseSetBuffers = true; ALOGI("setBuffers mode enabled"); } +#endif int32_t totalBitrate = 0; @@ -386,7 +387,6 @@ void NuPlayer::GenericSource::onPrepareAsync() { } } - Mutex::Autolock _l(mSourceLock); mDataSource = DataSource::CreateFromURI( mHTTPService, uri, &mUriHeaders, &contentType, static_cast<HTTPBase *>(mHttpSource.get()), @@ -394,7 +394,6 @@ void NuPlayer::GenericSource::onPrepareAsync() { } else { mIsWidevine = false; - Mutex::Autolock _l(mSourceLock); mDataSource = new FileSource(mFd, mOffset, mLength); mFd = -1; } @@ -485,10 +484,11 @@ void NuPlayer::GenericSource::finishPrepareAsync() { void NuPlayer::GenericSource::notifyPreparedAndCleanup(status_t err) { if (err != OK) { - Mutex::Autolock _l(mSourceLock); - mDataSource.clear(); - mCachedSource.clear(); - mHttpSource.clear(); + { + mDataSource.clear(); + mCachedSource.clear(); + mHttpSource.clear(); + } mBitrate = -1; cancelPollBuffering(); @@ -541,21 +541,13 @@ void NuPlayer::GenericSource::resume() { } void NuPlayer::GenericSource::disconnect() { - - sp<DataSource> dataSource; - sp<DataSource> httpSource; - { - Mutex::Autolock _l(mSourceLock); - dataSource = mDataSource; - httpSource = mHttpSource; - } - if (dataSource != NULL) { + if (mDataSource != NULL) { // disconnect data source - if (dataSource->flags() & DataSource::kIsCachingDataSource) { - static_cast<NuCachedSource2 *>(dataSource.get())->disconnect(); + if (mDataSource->flags() & DataSource::kIsCachingDataSource) { + static_cast<NuCachedSource2 *>(mDataSource.get())->disconnect(); } - } else if (httpSource != NULL) { - static_cast<HTTPBase *>(httpSource.get())->disconnect(); + } else if (mHttpSource != NULL) { + static_cast<HTTPBase *>(mHttpSource.get())->disconnect(); } } |