From: Marian Durkovic Date: Tue, 25 Oct 2005 13:01:39 +0000 (+0000) Subject: fix for SAP announcements: X-Git-Tag: 0.8.4~144 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=44c1b34bd75f90ea55f00e85f20e52b1ce4fe214;p=vlc fix for SAP announcements: * if --sout-rtp-ttl=0 use --ttl for c= line --- diff --git a/modules/stream_out/rtp.c b/modules/stream_out/rtp.c index f62e3f1578..4f29fe3ca7 100644 --- a/modules/stream_out/rtp.c +++ b/modules/stream_out/rtp.c @@ -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=" ) ) {