summaryrefslogtreecommitdiff
path: root/libavformat/rtsp.c
diff options
context:
space:
mode:
authorWolfgang Haupt <haupt.wolfgang@gmail.com>2020-04-19 19:14:41 +0200
committerMarton Balint <cus@passwd.hu>2020-04-19 23:27:45 +0200
commit428a0987e4a0eea580f9ee8d06669adf0b8502ad (patch)
treeb3a65ae689cd1f6d2d6b45e64d3f18546e6c50f2 /libavformat/rtsp.c
parent872790b1f9be65d5fba2ddc0357f989001ecbd33 (diff)
downloadffmpeg-428a0987e4a0eea580f9ee8d06669adf0b8502ad.tar.gz
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 <cus@passwd.hu>
Diffstat (limited to 'libavformat/rtsp.c')
-rw-r--r--libavformat/rtsp.c8
1 files changed, 6 insertions, 2 deletions
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;
}