From 27eb3247999ad476dce63eec037417fc96070c97 Mon Sep 17 00:00:00 2001 From: Jason Dove <1695733+jasongdove@users.noreply.github.com> Date: Mon, 4 May 2026 21:57:02 -0500 Subject: [PATCH] use next engine with mpeg-ts hybrid streaming mode --- .../Channels/Commands/CreateChannelHandler.cs | 4 +++- .../Channels/Commands/UpdateChannelHandler.cs | 4 +++- ErsatzTV/Controllers/IptvController.cs | 9 --------- ErsatzTV/Pages/ChannelEditor.razor | 1 + 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs b/ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs index 37ce3c9b7..5ce589fc1 100644 --- a/ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs +++ b/ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs @@ -114,7 +114,9 @@ public class CreateChannelHandler( channel.PlayoutOffset = null; } - if (channel.StreamingEngine is StreamingEngine.Next) + if (channel.StreamingEngine is StreamingEngine.Next && + channel.StreamingMode is not StreamingMode.HttpLiveStreamingSegmenter && + channel.StreamingMode is not StreamingMode.TransportStreamHybrid) { channel.StreamingMode = StreamingMode.HttpLiveStreamingSegmenter; } diff --git a/ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs b/ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs index 9a9cab6e3..61e68dca4 100644 --- a/ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs +++ b/ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs @@ -142,7 +142,9 @@ public class UpdateChannelHandler( c.WatermarkId = update.WatermarkId; c.FallbackFillerId = update.FallbackFillerId; - if (c.StreamingEngine is StreamingEngine.Next) + if (c.StreamingEngine is StreamingEngine.Next && + c.StreamingMode is not StreamingMode.HttpLiveStreamingSegmenter && + c.StreamingMode is not StreamingMode.TransportStreamHybrid) { c.StreamingMode = StreamingMode.HttpLiveStreamingSegmenter; } diff --git a/ErsatzTV/Controllers/IptvController.cs b/ErsatzTV/Controllers/IptvController.cs index 99e66f2ab..87247139d 100644 --- a/ErsatzTV/Controllers/IptvController.cs +++ b/ErsatzTV/Controllers/IptvController.cs @@ -91,15 +91,6 @@ public class IptvController : StreamingControllerBase return NotFound(); } - foreach (ChannelViewModel channel in maybeChannel) - { - // NEXT: MPEG-TS streams are not (yet?) supported - if (!channel.IsEnabled || channel.StreamingEngine is StreamingEngine.Next) - { - return NotFound(); - } - } - // if mode is "unspecified" - find the configured mode and set it or redirect if (string.IsNullOrWhiteSpace(mode) || mode == "mixed") { diff --git a/ErsatzTV/Pages/ChannelEditor.razor b/ErsatzTV/Pages/ChannelEditor.razor index f50df0f8a..4298bf493 100644 --- a/ErsatzTV/Pages/ChannelEditor.razor +++ b/ErsatzTV/Pages/ChannelEditor.razor @@ -159,6 +159,7 @@ else @if (_model.StreamingEngine is StreamingEngine.Next) { + MPEG-TS HLS Segmenter } else