diff --git a/CHANGELOG.md b/CHANGELOG.md index e756e0ac6..f50ce9d13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -73,6 +73,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Improve trakt list URL validation; non-trakt URLs will no longer be requested - Prevent saving block templates when blocks are overlapping - This can happen if block durations are changed for blocks that are already on the template +- Redirect variant playlist request to proper URL for starting `HLS Segmenter` session when no session is active + - This can happen when some clients "pause" for long enough for the session to stop in ETV + - When this happens, the client requests the temporary playlist URL e.g. `/iptv/session/1/hls.m3u8` (not the original URL `/iptv/channel/1.m3u8`) + - To fix, the client will be redirected back to the original URL in this case which will create a new session ## [0.8.7-beta] - 2024-06-26 ### Added diff --git a/ErsatzTV/Controllers/IptvController.cs b/ErsatzTV/Controllers/IptvController.cs index ae459eb72..feadd7704 100644 --- a/ErsatzTV/Controllers/IptvController.cs +++ b/ErsatzTV/Controllers/IptvController.cs @@ -168,8 +168,8 @@ public class IptvController : ControllerBase return NotFound(); } - _logger.LogWarning("Unable to locate session worker for channel {Channel}", channelNumber); - return NotFound(); + _logger.LogWarning("Unable to locate session worker for channel {Channel}; will redirect to start session", channelNumber); + return RedirectToAction(nameof(GetHttpLiveStreamingVideo), new { channelNumber }); } [HttpHead("iptv/channel/{channelNumber}.m3u8")]