If a master playlist with HTTP urls contains relative paths, it cannot find the media playlists because the host is lost.
22:35:45.768 [error] GenServer #PID<0.1329.0> terminating
** (MatchError) no match of right hand side value: {:error, {:no_scheme}}
(kim_hls 0.1.0) lib/hls/playlist/media/tracker.ex:56: HLS.Playlist.Media.Tracker.read_media_playlist/2
(kim_hls 0.1.0) lib/hls/playlist/media/tracker.ex:62: HLS.Playlist.Media.Tracker.handle_refresh/2
Solution: call URI.merge/2 to keep the host of the target.
I would like to confirm with you if this is the correct solution before I focus on writing a test.
Closing the issue, this is not relevant anymore. I didn't understand the lib, I just need to call HLS.Playlist.Master.build_media_uri(master.uri, stream.uri) to solve my problem.
Issue Link
If a master playlist with HTTP urls contains relative paths, it cannot find the media playlists because the host is lost.
Solution: call
URI.merge/2
to keep the host of the target.I would like to confirm with you if this is the correct solution before I focus on writing a test.
Example of failing m3u8 file.