aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiangjie Gao <gaojiangjie@live.com>2021-03-09 14:21:19 +0800
committerMarton Balint <cus@passwd.hu>2021-03-19 23:13:26 +0100
commit3e9284fccbfbea0a6feea5dae49725ced08953e2 (patch)
tree5ecf94022dcaf4a7aa73f9a8a41c68dabb0a47cc
parent626e0dd060042b203c5b49512b695e03d8560da1 (diff)
downloadffmpeg-3e9284fccbfbea0a6feea5dae49725ced08953e2.tar.gz
avformat/rtsp: support buffer_size and pkt_size options for RTP
And forward it to the underlying UDP protocol. Fixes ticket #7517. Signed-off-by: Jiangjie Gao <gaojiangjie@live.com> Signed-off-by: Marton Balint <cus@passwd.hu>
-rw-r--r--doc/protocols.texi3
-rw-r--r--libavformat/rtsp.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/doc/protocols.texi b/doc/protocols.texi
index 78afe6ec8e..d3f6cbefcf 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -1033,6 +1033,9 @@ Set the local RTCP port to @var{n}.
@item pkt_size=@var{n}
Set max packet size (in bytes) to @var{n}.
+@item buffer_size=@var{size}
+Set the maximum UDP socket buffer size in bytes.
+
@item connect=0|1
Do a @code{connect()} on the UDP socket (if set to 1) or not (if set
to 0).
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 9a2933346e..25bdf475b3 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -2506,12 +2506,15 @@ static int rtp_read_header(AVFormatContext *s)
RTSPState *rt = s->priv_data;
const char *p;
AVBPrint sdp;
+ AVDictionary *opts = NULL;
if (!ff_network_init())
return AVERROR(EIO);
+ opts = map_to_opts(rt);
ret = ffurl_open_whitelist(&in, s->url, AVIO_FLAG_READ,
- &s->interrupt_callback, NULL, s->protocol_whitelist, s->protocol_blacklist, NULL);
+ &s->interrupt_callback, &opts, s->protocol_whitelist, s->protocol_blacklist, NULL);
+ av_dict_free(&opts);
if (ret)
goto fail;