diff --git a/media/libstagefright/httplive/LiveSession.cpp b/media/libstagefright/httplive/LiveSession.cpp
index c6c36e3..0bed3ca 100644
--- a/media/libstagefright/httplive/LiveSession.cpp
+++ b/media/libstagefright/httplive/LiveSession.cpp
@@ -51,6 +51,7 @@
       mNumRetries(0),
       mDurationUs(-1),
       mSeekDone(false),
+      mDisconnectPending(false),
       mMonitorQueueGeneration(0) {
 }
 
@@ -68,6 +69,11 @@
 }
 
 void LiveSession::disconnect() {
+    Mutex::Autolock autoLock(mLock);
+    mDisconnectPending = true;
+
+    mHTTPDataSource->disconnect();
+
     (new AMessage(kWhatDisconnect, id()))->post();
 }
 
@@ -138,7 +144,13 @@
     mMasterURL = url;
 
     sp<M3UParser> playlist = fetchPlaylist(url.c_str());
-    CHECK(playlist != NULL);
+
+    if (playlist == NULL) {
+        LOGE("unable to fetch master playlist '%s'.", url.c_str());
+
+        mDataSource->queueEOS(ERROR_IO);
+        return;
+    }
 
     if (playlist->isVariantPlaylist()) {
         for (size_t i = 0; i < playlist->size(); ++i) {
@@ -177,6 +189,9 @@
     LOGI("onDisconnect");
 
     mDataSource->queueEOS(ERROR_END_OF_STREAM);
+
+    Mutex::Autolock autoLock(mLock);
+    mDisconnectPending = false;
 }
 
 status_t LiveSession::fetchFile(const char *url, sp<ABuffer> *out) {
@@ -189,6 +204,14 @@
     } else if (strncasecmp(url, "http://", 7)) {
         return ERROR_UNSUPPORTED;
     } else {
+        {
+            Mutex::Autolock autoLock(mLock);
+
+            if (mDisconnectPending) {
+                return ERROR_IO;
+            }
+        }
+
         status_t err = mHTTPDataSource->connect(url);
 
         if (err != OK) {
diff --git a/media/libstagefright/include/LiveSession.h b/media/libstagefright/include/LiveSession.h
index 41f5ad0..f1188c4 100644
--- a/media/libstagefright/include/LiveSession.h
+++ b/media/libstagefright/include/LiveSession.h
@@ -87,6 +87,7 @@
     Condition mCondition;
     int64_t mDurationUs;
     bool mSeekDone;
+    bool mDisconnectPending;
 
     int32_t mMonitorQueueGeneration;
 
