[FFmpeg-cvslog] Fix the timeout option not working when connecting to a HTTP url that requires authentication.

Brandon Lees git at videolan.org
Sat Nov 15 14:40:55 CET 2014


ffmpeg | branch: master | Brandon Lees <brandon at n-hega.com> | Fri Nov 14 18:05:44 2014 -0500| [ffaf2074ebbca70bdd02819f383710b34d168e31] | committer: Michael Niedermayer

Fix the timeout option not working when connecting to a HTTP url that requires authentication.

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 at n-hega.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ffaf2074ebbca70bdd02819f383710b34d168e31
---

 libavformat/http.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavformat/http.c b/libavformat/http.c
index dfc01ee..f17b2f8 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -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;
 



More information about the ffmpeg-cvslog mailing list