]> git.sesse.net Git - vlc/commitdiff
fix for SAP announcements:
authorMarian Durkovic <md@videolan.org>
Tue, 25 Oct 2005 13:01:39 +0000 (13:01 +0000)
committerMarian Durkovic <md@videolan.org>
Tue, 25 Oct 2005 13:01:39 +0000 (13:01 +0000)
 * if --sout-rtp-ttl=0  use --ttl for c= line

modules/stream_out/rtp.c

index f62e3f1578954cbde5b71be7facf59e1c01cdad2..4f29fe3ca7d9e95a62f31ea87753e6465441a7b5 100644 (file)
@@ -114,7 +114,7 @@ vlc_module_begin();
     add_integer( SOUT_CFG_PREFIX "port-video", 1232, NULL, PORT_VIDEO_TEXT,
                  PORT_VIDEO_LONGTEXT, VLC_TRUE );
 
-    add_integer( SOUT_CFG_PREFIX "ttl", 1, NULL, TTL_TEXT,
+    add_integer( SOUT_CFG_PREFIX "ttl", 0, NULL, TTL_TEXT,
                  TTL_LONGTEXT, VLC_TRUE );
 
     set_callbacks( Open, Close );
@@ -495,7 +495,8 @@ static int Open( vlc_object_t *p_this )
            RTP packets need to get the correct src IP address  */
         if( net_AddressIsMulticast( (vlc_object_t *)p_stream, p_sys->psz_destination ) )
         {
-            snprintf( psz_ttl, sizeof( psz_ttl ), "/%d", p_sys->i_ttl );
+            snprintf( psz_ttl, sizeof( psz_ttl ), "/%d", p_sys->i_ttl ? 
+                p_sys->i_ttl : config_GetInt( p_sout, "ttl" ) );
             psz_ttl[sizeof( psz_ttl ) - 1] = '\0';
         }
         else
@@ -737,6 +738,7 @@ static char *SDPGenerate( const sout_stream_t *p_stream,
                           const char *psz_destination, vlc_bool_t b_rtsp )
 {
     sout_stream_sys_t *p_sys = p_stream->p_sys;
+    sout_instance_t  *p_sout = p_stream->p_sout;
     int i_size;
     char *psz_sdp, *p, ipv;
     int i;
@@ -798,7 +800,8 @@ static char *SDPGenerate( const sout_stream_t *p_stream,
     if( net_AddressIsMulticast( (vlc_object_t *)p_stream, psz_destination ) )
     {
         /* Add the ttl if it is a multicast address */
-        p += sprintf( p, "/%d\r\n", p_sys->i_ttl );
+        p += sprintf( p, "/%d\r\n", p_sys->i_ttl ? p_sys->i_ttl :
+                config_GetInt( p_sout, "ttl" ) );
     }
     else
     {
@@ -1612,6 +1615,7 @@ static int  RtspCallbackId( httpd_callback_sys_t *p_args,
 {
     sout_stream_id_t *id = (sout_stream_id_t*)p_args;
     sout_stream_t    *p_stream = id->p_stream;
+    sout_instance_t    *p_sout = p_stream->p_sout;
     sout_stream_sys_t *p_sys = p_stream->p_sys;
     char          *psz_session = NULL;
 
@@ -1648,7 +1652,9 @@ static int  RtspCallbackId( httpd_callback_sys_t *p_args,
                 }
                 httpd_MsgAdd( answer, "Transport",
                               "RTP/AVP/UDP;destination=%s;port=%d-%d;ttl=%d",
-                              id->psz_destination, id->i_port,id->i_port+1, p_sys->i_ttl );
+                              id->psz_destination, id->i_port,id->i_port+1,
+                              p_sys->i_ttl ? p_sys->i_ttl : 
+                              config_GetInt( p_sout, "ttl" ) );
             }
             else if( strstr( psz_transport, "unicast" ) && strstr( psz_transport, "client_port=" ) )
             {