summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/AwesomePlayer.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-02-14 14:14:23 -0800
committerAndreas Huber <andih@google.com>2011-02-14 14:14:23 -0800
commitcb218793c3bcdc5a847a3982495e50f777eca17d (patch)
tree9ab0cdc04ddd595979d6eb889ca074b21cc3acf7 /media/libstagefright/AwesomePlayer.cpp
parent718dfa8d94c8ab99133c5ea6b5005fdb70e16c43 (diff)
downloadframeworks_base-cb218793c3bcdc5a847a3982495e50f777eca17d.zip
frameworks_base-cb218793c3bcdc5a847a3982495e50f777eca17d.tar.gz
frameworks_base-cb218793c3bcdc5a847a3982495e50f777eca17d.tar.bz2
Enable cancelling the rtsp connection process early.
Change-Id: Ie2059c54541ad8c675944d71b39c772b0f6f04c8 related-to-bug: 3452699
Diffstat (limited to 'media/libstagefright/AwesomePlayer.cpp')
-rw-r--r--media/libstagefright/AwesomePlayer.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index e368848..cb08023 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -399,6 +399,9 @@ void AwesomePlayer::reset_l() {
if (mConnectingDataSource != NULL) {
LOGI("interrupting the connection process");
mConnectingDataSource->disconnect();
+ } else if (mConnectingRTSPController != NULL) {
+ LOGI("interrupting the connection process");
+ mConnectingRTSPController->disconnect();
}
if (mFlags & PREPARING_CONNECTED) {
@@ -409,7 +412,7 @@ void AwesomePlayer::reset_l() {
}
if (mFlags & PREPARING) {
- LOGI("waiting until preparation is completes.");
+ LOGI("waiting until preparation is completed.");
}
while (mFlags & PREPARING) {
@@ -1633,7 +1636,13 @@ status_t AwesomePlayer::finishSetDataSource_l() {
mLooper->start();
}
mRTSPController = new ARTSPController(mLooper);
+ mConnectingRTSPController = mRTSPController;
+
+ mLock.unlock();
status_t err = mRTSPController->connect(mUri.string());
+ mLock.lock();
+
+ mConnectingRTSPController.clear();
LOGI("ARTSPController::connect returned %d", err);