[vlc-devel] commit: Use live555 timeout option and reduce waiting time ( Sebastien Escudier )

git version control git at videolan.org
Wed Oct 22 17:26:46 CEST 2008


vlc | branch: master | Sebastien Escudier <sebastien-devel at celeos.eu> | Wed Oct 22 11:19:35 2008 +0200| [c0d37c7c881712e182f03b52d0b00a911cab81ac] | committer: Rémi Denis-Courmont 

Use live555 timeout option and reduce waiting time

Signed-off-by: Rémi Denis-Courmont <rdenis at simphalempin.com>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c0d37c7c881712e182f03b52d0b00a911cab81ac
---

 modules/demux/live555.cpp |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/modules/demux/live555.cpp b/modules/demux/live555.cpp
index 4e7f303..0ff40ff 100644
--- a/modules/demux/live555.cpp
+++ b/modules/demux/live555.cpp
@@ -481,7 +481,7 @@ static int Connect( demux_t *p_demux )
     char *p_sdp       = NULL;
     int  i_http_port  = 0;
     int  i_ret        = VLC_SUCCESS;
-    int i_lefttries;
+    int timeout;
 
     if( p_sys->url.i_port == 0 ) p_sys->url.i_port = 554;
     if( p_sys->url.psz_username || p_sys->url.psz_password )
@@ -504,9 +504,7 @@ static int Connect( demux_t *p_demux )
         psz_pwd  = var_CreateGetString( p_demux, "rtsp-pwd" );
     }
 
-    i_lefttries = 3;
 createnew:
-    i_lefttries--;
     if( !vlc_object_alive (p_demux) || p_demux->b_error )
     {
         free( psz_user );
@@ -546,14 +544,30 @@ describe:
     authenticator.setUsernameAndPassword( (const char*)psz_user,
                                           (const char*)psz_pwd );
 
+    timeout = var_CreateGetInteger(p_demux, "ipv4-timeout");
+    timeout /= 1000;
+
+#if LIVEMEDIA_LIBRARY_VERSION_INT >= 1223337600
+    psz_options = p_sys->rtsp->sendOptionsCmd( psz_url, psz_user, psz_pwd,
+                                               &authenticator, timeout );
+#else
     psz_options = p_sys->rtsp->sendOptionsCmd( psz_url, psz_user, psz_pwd,
                                                &authenticator );
+#endif
     if( psz_options )
+    {
         p_sys->b_get_param = strstr( psz_options, "GET_PARAMETER" ) ? true : false ;
+#if LIVEMEDIA_LIBRARY_VERSION_INT >= 1223337600
+        p_sdp = p_sys->rtsp->describeURL( psz_url, &authenticator,
+                                          var_GetBool( p_demux, "rtsp-kasenna" ), timeout );
+#else
+        p_sdp = p_sys->rtsp->describeURL( psz_url, &authenticator,
+                                          var_GetBool( p_demux, "rtsp-kasenna" ) );
+#endif
+
+    }
     delete [] psz_options;
 
-    p_sdp = p_sys->rtsp->describeURL( psz_url, &authenticator,
-                         var_GetBool( p_demux, "rtsp-kasenna" ) );
     if( p_sdp == NULL )
     {
         /* failure occurred */
@@ -616,8 +630,6 @@ describe:
             msg_Dbg( p_demux, "connection timeout, retrying" );
             if( p_sys->rtsp ) RTSPClient::close( p_sys->rtsp );
             p_sys->rtsp = NULL;
-            if( i_lefttries > 0 )
-                goto createnew;
         }
         i_ret = VLC_EGENERIC;
     }




More information about the vlc-devel mailing list