avformat/http: return EOF from ff_http_do_new_request if previous response said Connection:close

This fixes a deadlock when using the hls demuxer's new http_persistent feature
to stream a youtube live stream over HTTPS. The youtube servers are http/1.1
compliant, but return a "Connecton: close". Before this commit, the demuxer
would attempt to send a new request on the partially shutdown connection and
cause a deadlock in the tls protocol.

Signed-off-by: Aman Gupta <aman@tmm1.net>
pull/274/head
Aman Gupta 7 years ago
parent 1f0eaa02aa
commit 54d0ef1738
  1. 3
      libavformat/http.c

@ -327,6 +327,9 @@ int ff_http_do_new_request(URLContext *h, const char *uri)
if (ret < 0)
return ret;
if (s->willclose)
return AVERROR_EOF;
s->end_chunked_post = 0;
s->chunkend = 0;
s->off = 0;

Loading…
Cancel
Save