[FFmpeg-devel] TCP timeout for HTTP/HTTPS connections.

Tom Gaudasiński tomg at records.headdesk.com.au
Mon Nov 18 08:56:52 EET 2019


I'm trying to set a read timeout for a http/https stream through the
API. Currently I'm passing...

      av_dict_set(&options, "timeout", "100000", 0);

... to avformat_open_input().

This appears to not work once the connection has been established. The
protocol call-stack appears to be

hls.c -> http.c -> avio.c -> tcp.c -> network.c

The issue, I think, is that tcp.c only gets it's timeout from a
?key=val&key=val  string at the end of the URL supplied to tcp.c, but
http.c or avio.c don't supply this. In fact, when I see what was passed
down, it's just "tcp://hostname.tld:80".

Am I missing something? Is there a way to get ffmpeg to set tcp-timeout
from the very top-level API calls? I can't see it.

Thank you.

--Tom G.




More information about the ffmpeg-devel mailing list