[dvblast-devel] Problems joining source-specific multicast stream

Kristian Pedersen kristian.pedersen at vejen-net.dk
Mon Nov 18 21:27:11 CET 2013


On 18-11-2013 11:38, Georgi Chorbadzhiyski wrote:
> Around 11/13/2013 11:53 PM, Kristian Pedersen scribbled:
>> Im attempting to join a source-specific multicast stream and send it out
>> again as a unicast stream. It seems the multicast source address is not
>> being handled correct.
> Please try this patch, it seems to fix the issue here:
>
> diff --git a/udp.c b/udp.c
> index fd5a7e0..0811718 100644
> --- a/udp.c
> +++ b/udp.c
> @@ -188,12 +188,11 @@ void udp_Open( void )
>                   msg_Err( NULL, "IP_ADD_SOURCE_MEMBERSHIP is unsupported." );
>   #else
>                   /* Source-specific multicast */
> -                struct sockaddr_in *p_src =
> -                    (struct sockaddr_in *)&p_connect_ai->ai_addr;
> +                struct sockaddr *p_src = p_connect_ai->ai_addr;
>                   struct ip_mreq_source imr;
>                   imr.imr_multiaddr = p_addr->sin_addr;
>                   imr.imr_interface.s_addr = i_if_addr;
> -                imr.imr_sourceaddr = p_src->sin_addr;
> +                imr.imr_sourceaddr = ((struct sockaddr_in *)p_src)->sin_addr;
>                   if ( i_if_index )
>                       msg_Warn( NULL, "ignoring ifindex option in SSM" );
>

This also seems to fix the issue here. Thank you very much!

The TS sync/RTP source problem I mentioned was caused by missing /udp on 
the source stream, so completely unrelated to this issue.

Regards,

Kristian


More information about the dvblast-devel mailing list