vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Tue Mar 1 07:39:12 2016 +0200| [39fa337b46d1a9647afbca258fdd97dd40fe4478] | committer: Rémi Denis-Courmont
http: fix MMSH redirection > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=39fa337b46d1a9647afbca258fdd97dd40fe4478 --- modules/access/http/resource.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/modules/access/http/resource.c b/modules/access/http/resource.c index fe95d10..7047d2b 100644 --- a/modules/access/http/resource.c +++ b/modules/access/http/resource.c @@ -209,6 +209,16 @@ char *vlc_http_res_get_redirect(const struct vlc_http_resource *restrict res, { int status = vlc_http_msg_get_status(resp); + if ((status / 100) == 2 && !res->secure) + { + char *url; + + /* HACK: Seems like an MMS server. Redirect to MMSH scheme. */ + if (vlc_http_msg_get_token(resp, "Pragma", "features") != NULL + && asprintf(&url, "mmsh://%s%s", res->authority, res->path) >= 0) + return url; + } + /* TODO: if (status == 426 Upgrade Required) */ /* Location header is only meaningful for 201 and 3xx */ @@ -219,15 +229,6 @@ char *vlc_http_res_get_redirect(const struct vlc_http_resource *restrict res, || status == 306 /* Switch Proxy (former) */) return NULL; - if (!res->secure - && vlc_http_msg_get_token(resp, "Pragma", "features") != NULL) - { /* HACK: Seems like an MMS server. Redirect to MMSH scheme. */ - char *url; - - if (asprintf(&url, "mmsh://%s%s", res->authority, res->path) >= 0) - return url; - } - const char *location = vlc_http_msg_get_header(resp, "Location"); if (location == NULL) return NULL; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
