[FFmpeg-devel] [PATCH] libavformat/rtsp: fix rtsp multicasts

Wolfgang Haupt haupt.wolfgang at gmail.com
Fri Apr 3 09:42:37 EEST 2020


Hey,

is someone up to review this patch?

It's an attempt to fix rtsp streams that use udp multicasts as the 
underlying
transmission protocol.
The idea was taken from live555 as the said stream worked in VLC.

It still applies cleanly on current master.


Best Regards,
Wolfgang

On 18.10.19 18:59, Wolfgang Haupt wrote:
> If an rtsp server offers a udp multicast
> address as response of a DESCRIBE command
> the rtsp client is expected to issue
> SETUP with "Transport: RTP/AVP/UDP;multicast".
> Some rtsp servers bail out otherwise.
> ---
>   libavformat/rtsp.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
> index 859defa592..3f0cbfc98b 100644
> --- a/libavformat/rtsp.c
> +++ b/libavformat/rtsp.c
> @@ -1913,6 +1913,9 @@ redirect:
>                   && (rt->rtsp_flags & RTSP_FLAG_PREFER_TCP))
>               lower_transport = RTSP_LOWER_TRANSPORT_TCP;
>   
> +        if (ff_is_multicast_address((struct sockaddr*)&rt->rtsp_streams[rt->nb_rtsp_streams-1]->sdp_ip))
> +            lower_transport = RTSP_LOWER_TRANSPORT_UDP_MULTICAST;
> +
>           err = ff_rtsp_make_setup_request(s, host, port, lower_transport,
>                                    rt->server_type == RTSP_SERVER_REAL ?
>                                        real_challenge : NULL);




More information about the ffmpeg-devel mailing list