diff options
author | Andreas Huber <andih@google.com> | 2011-02-14 14:14:23 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2011-02-14 14:14:23 -0800 |
commit | cb218793c3bcdc5a847a3982495e50f777eca17d (patch) | |
tree | 9ab0cdc04ddd595979d6eb889ca074b21cc3acf7 /media/libstagefright/AwesomePlayer.cpp | |
parent | 718dfa8d94c8ab99133c5ea6b5005fdb70e16c43 (diff) | |
download | frameworks_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.cpp | 11 |
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); |