]> git.sesse.net Git - ffmpeg/commitdiff
Fix the timeout option not working when connecting to a HTTP url that requires authen...
authorBrandon Lees <brandon@n-hega.com>
Fri, 14 Nov 2014 23:05:44 +0000 (18:05 -0500)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 15 Nov 2014 13:30:32 +0000 (14:30 +0100)
In http_open_cnx, the patch restores the AVDictionary if connection needs to be re-tried
because of a authentication/redirect status code.

Previously, if a 401/407/30x status code was encountered, http_open_cnx would restart at the redo label, but any options
used by the underlying protocol would be missing because they were removed by the first attempt.

Signed-off-by: Brandon Lees <brandon@n-hega.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/http.c

index dfc01eee4c592c8904737d50fe26a68046d91f7c..f17b2f8db81e7321bcc9eb6c15476f41bf9eaf29 100644 (file)
@@ -207,6 +207,9 @@ static int http_open_cnx(URLContext *h, AVDictionary **options)
     HTTPContext *s = h->priv_data;
     int location_changed, attempts = 0, redirects = 0;
 redo:
+    if (attempts > 0)
+        av_dict_copy(options, s->chained_options, 0);
+
     cur_auth_type       = s->auth_state.auth_type;
     cur_proxy_auth_type = s->auth_state.auth_type;