Browse Source

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>
tags/n4.0
Aman Gupta 7 years ago
parent
commit
54d0ef1738
1 changed files with 3 additions and 0 deletions
  1. +3
    -0
      libavformat/http.c

+ 3
- 0
libavformat/http.c View File

@@ -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