From 428a0987e4a0eea580f9ee8d06669adf0b8502ad Mon Sep 17 00:00:00 2001 From: Wolfgang Haupt Date: Sun, 19 Apr 2020 19:14:41 +0200 Subject: libavformat/rtsp: pass protocol options for udp multicast Protocol options like buffer_size need to be passed to the underlying transport implementation for udp multicasts as well. Signed-off-by: Marton Balint --- libavformat/rtsp.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libavformat/rtsp.c') diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 07ac371903..49f7644fab 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1617,6 +1617,7 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port, char url[1024], namebuf[50], optbuf[20] = ""; struct sockaddr_storage addr; int port, ttl; + AVDictionary *opts = map_to_opts(rt); if (reply->transports[0].destination.ss_family) { addr = reply->transports[0].destination; @@ -1633,8 +1634,11 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port, namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST); ff_url_join(url, sizeof(url), "rtp", NULL, namebuf, port, "%s", optbuf); - if (ffurl_open_whitelist(&rtsp_st->rtp_handle, url, AVIO_FLAG_READ_WRITE, - &s->interrupt_callback, NULL, s->protocol_whitelist, s->protocol_blacklist, NULL) < 0) { + err = ffurl_open_whitelist(&rtsp_st->rtp_handle, url, AVIO_FLAG_READ_WRITE, + &s->interrupt_callback, &opts, s->protocol_whitelist, s->protocol_blacklist, NULL); + av_dict_free(&opts); + + if (err < 0) { err = AVERROR_INVALIDDATA; goto fail; } -- cgit v1.2.3