From c3a1ee72bc4687c19f93400f0bba57d8c99be076 Mon Sep 17 00:00:00 2001 From: Victor Gavro Date: Mon, 28 Feb 2022 18:58:06 +0200 Subject: [PATCH] m3u8 relative url fixed (urls starting with // and urls with query string) --- internal/hls/client.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/internal/hls/client.go b/internal/hls/client.go index 2156e7e5..60145fc3 100644 --- a/internal/hls/client.go +++ b/internal/hls/client.go @@ -34,12 +34,15 @@ func clientURLAbsolute(base *url.URL, relative string) (*url.URL, error) { return nil, err } - if !u.IsAbs() { + if strings.HasPrefix(relative, "//") { + u.Scheme = base.Scheme + } else if !u.IsAbs() { u = &url.URL{ - Scheme: base.Scheme, - User: base.User, - Host: base.Host, - Path: gopath.Join(gopath.Dir(base.Path), relative), + Scheme: base.Scheme, + User: base.User, + Host: base.Host, + Path: gopath.Join(gopath.Dir(base.Path), u.Path), + RawQuery: u.RawQuery, } }