diff --git a/libavformat/applehttp.c b/libavformat/applehttp.c index 50466faf82..37a040cf34 100644 --- a/libavformat/applehttp.c +++ b/libavformat/applehttp.c @@ -90,6 +90,20 @@ static void make_absolute_url(char *buf, int size, const char *base, const char *rel) { char *sep; + /* Absolute path, relative to the current server */ + if (base && strstr(base, "://") && rel[0] == '/') { + if (base != buf) + av_strlcpy(buf, base, size); + sep = strstr(buf, "://"); + if (sep) { + sep += 3; + sep = strchr(sep, '/'); + if (sep) + *sep = '\0'; + } + av_strlcat(buf, rel, size); + return; + } /* If rel actually is an absolute url, just copy it */ if (!base || strstr(rel, "://") || rel[0] == '/') { av_strlcpy(buf, rel, size);