]> git.sesse.net Git - vlc/commitdiff
- live555: toggle TCP use when we receive a '461 Unsupported Transport' during SETUP...
authorDamien Fouilleul <damienf@videolan.org>
Sun, 29 Apr 2007 17:44:44 +0000 (17:44 +0000)
committerDamien Fouilleul <damienf@videolan.org>
Sun, 29 Apr 2007 17:44:44 +0000 (17:44 +0000)
modules/demux/live555.cpp

index abdaac2a1553e7e616e2cc878778ee9c9c0194e1..7ef5893e19f005527b00d648ccbb43e8192204f9 100644 (file)
@@ -602,9 +602,15 @@ static int SessionsSetup( demux_t *p_demux )
                 if( !( p_sys->rtsp->setupMediaSubsession( *sub, False,
                                                    b_rtsp_tcp ? True : False ) ) )
                 {
-                    msg_Err( p_demux, "SETUP of'%s/%s' failed %s", sub->mediumName(),
-                             sub->codecName(), p_sys->env->getResultMsg() );
-                    continue;
+                    /* if we get an unsupported transport error, toggle TCP use and try again */
+                    if( !strstr(p_sys->env->getResultMsg(), "461 Unsupported Transport")
+                     || !( p_sys->rtsp->setupMediaSubsession( *sub, False,
+                                                   b_rtsp_tcp ? False : True ) ) )
+                    {
+                        msg_Err( p_demux, "SETUP of'%s/%s' failed %s", sub->mediumName(),
+                                 sub->codecName(), p_sys->env->getResultMsg() );
+                        continue;
+                    }
                 }
             }