From: Duncan Salerno <duncan.sale...@gmail.com> This is defined by RFC 3986 section 5.4.1 to be handled this way. --- libavformat/utils.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/libavformat/utils.c b/libavformat/utils.c index 9d0049a..ca52469 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -3396,10 +3396,16 @@ void ff_make_absolute_url(char *buf, int size, const char *base, av_strlcpy(buf, base, size); sep = strstr(buf, "://"); if (sep) { - sep += 3; - sep = strchr(sep, '/'); - if (sep) - *sep = '\0'; + /* Take scheme from base url */ + if (rel[1] == '/') { + sep[1] = '\0'; + } else { + /* Take scheme and host from base url */ + sep += 3; + sep = strchr(sep, '/'); + if (sep) + *sep = '\0'; + } } av_strlcat(buf, rel, size); return; -- 1.7.9.4 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel