diff --git a/CHANGELOG.md b/CHANGELOG.md index e40ed045..4fd86e8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +3.12.2 +======================== +* Fix: Some Cam4 URLs where broken + 3.12.1 ======================== * Fix: "Resume all" started the recordings of models marked for later recording diff --git a/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java b/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java index 5fcaebed..bf1ff46a 100644 --- a/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java +++ b/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java @@ -191,9 +191,13 @@ public class Cam4Model extends AbstractModel { StreamSource src = new StreamSource(); src.bandwidth = playlist.getStreamInfo().getBandwidth(); src.height = Optional.ofNullable(playlist.getStreamInfo()).map(StreamInfo::getResolution).map(res -> res.height).orElse(0); - String masterUrl = getPlaylistUrl(); - String baseUrl = masterUrl.substring(0, masterUrl.lastIndexOf('/') + 1); - src.mediaPlaylistUrl = baseUrl + playlist.getUri(); + if (playlist.getUri().startsWith("http")) { + src.mediaPlaylistUrl = playlist.getUri(); + } else { + String masterUrl = getPlaylistUrl(); + String baseUrl = masterUrl.substring(0, masterUrl.lastIndexOf('/') + 1); + src.mediaPlaylistUrl = baseUrl + playlist.getUri(); + } LOG.trace("Media playlist {}", src.mediaPlaylistUrl); sources.add(src); }