[FFmpeg-devel] [PATCH] avformat/rtmpproto: Pass rw_timeout to underlying transport protocol
Martin Storsjö
martin at martin.st
Wed Nov 22 11:33:05 EET 2023
On Wed, 22 Nov 2023, Zhao Zhili wrote:
>
>
>> On Nov 15, 2023, at 21:24, Zhao Zhili <quinkblack at foxmail.com> wrote:
>>
>> From: Zhao Zhili <zhilizhao at tencent.com>
>>
>> Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>
>> ---
>> libavformat/rtmpproto.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
>> index 98718bc6da..a0c6195eb2 100644
>> --- a/libavformat/rtmpproto.c
>> +++ b/libavformat/rtmpproto.c
>> @@ -2635,6 +2635,9 @@ static int rtmp_open(URLContext *s, const char *uri, int flags, AVDictionary **o
>>
>> if (rt->listen_timeout > 0)
>> rt->listen = 1;
>> + /* Pass rw_timeout to underlying transport protocol */
>> + if (s->rw_timeout > 0)
>> + av_dict_set_int(opts, "rw_timeout", s->rw_timeout, 0);
>
> OK, I made a mistake. Since ffurl_open_whitelist copy from parent automatically,
> this is a NOP. Will revert this commit.
Thanks! I was just starting to look into this, to confirm this as well,
but it's good if you've come to the same conclusion already.
It's interesting how we end up with similar changes for this multiple
times, see https://ffmpeg.org/pipermail/ffmpeg-devel/2023-July/312362.html
for another similar patch a few months ago, when it should be working
already.
The fact that so many protocols have similar but vaguely different timeout
options, each defined as a per-protocol private option, is a bit of a
mess; that's why this approach, of actually sharing the same variable
through the URLContext hierarchy, tries to avoid that to some extent.
// Martin
More information about the ffmpeg-devel
mailing list