summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/GenericSource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/GenericSource.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/GenericSource.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp
index ee0310e..c0355d7 100644
--- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp
@@ -485,10 +485,12 @@ void NuPlayer::GenericSource::finishPrepareAsync() {
void NuPlayer::GenericSource::notifyPreparedAndCleanup(status_t err) {
if (err != OK) {
- Mutex::Autolock _l(mSourceLock);
- mDataSource.clear();
- mCachedSource.clear();
- mHttpSource.clear();
+ {
+ Mutex::Autolock _l(mSourceLock);
+ mDataSource.clear();
+ mCachedSource.clear();
+ mHttpSource.clear();
+ }
mBitrate = -1;
cancelPollBuffering();
@@ -541,14 +543,13 @@ void NuPlayer::GenericSource::resume() {
}
void NuPlayer::GenericSource::disconnect() {
-
- sp<DataSource> dataSource;
- sp<DataSource> httpSource;
+ sp<DataSource> dataSource, httpSource;
{
Mutex::Autolock _l(mSourceLock);
dataSource = mDataSource;
httpSource = mHttpSource;
}
+
if (dataSource != NULL) {
// disconnect data source
if (dataSource->flags() & DataSource::kIsCachingDataSource) {