Browse Source

use next engine with mpeg-ts hybrid streaming mode

pull/2883/head
Jason Dove 3 months ago
parent
commit
27eb324799
No known key found for this signature in database
  1. 4
      ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs
  2. 4
      ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs
  3. 9
      ErsatzTV/Controllers/IptvController.cs
  4. 1
      ErsatzTV/Pages/ChannelEditor.razor

4
ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs

@ -114,7 +114,9 @@ public class CreateChannelHandler(
channel.PlayoutOffset = null; 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; channel.StreamingMode = StreamingMode.HttpLiveStreamingSegmenter;
} }

4
ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs

@ -142,7 +142,9 @@ public class UpdateChannelHandler(
c.WatermarkId = update.WatermarkId; c.WatermarkId = update.WatermarkId;
c.FallbackFillerId = update.FallbackFillerId; 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; c.StreamingMode = StreamingMode.HttpLiveStreamingSegmenter;
} }

9
ErsatzTV/Controllers/IptvController.cs

@ -91,15 +91,6 @@ public class IptvController : StreamingControllerBase
return NotFound(); 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 mode is "unspecified" - find the configured mode and set it or redirect
if (string.IsNullOrWhiteSpace(mode) || mode == "mixed") if (string.IsNullOrWhiteSpace(mode) || mode == "mixed")
{ {

1
ErsatzTV/Pages/ChannelEditor.razor

@ -159,6 +159,7 @@ else
<MudSelect @bind-Value="_model.StreamingMode" For="@(() => _model.StreamingMode)"> <MudSelect @bind-Value="_model.StreamingMode" For="@(() => _model.StreamingMode)">
@if (_model.StreamingEngine is StreamingEngine.Next) @if (_model.StreamingEngine is StreamingEngine.Next)
{ {
<MudSelectItem Value="@(StreamingMode.TransportStreamHybrid)">MPEG-TS</MudSelectItem>
<MudSelectItem Value="@(StreamingMode.HttpLiveStreamingSegmenter)">HLS Segmenter</MudSelectItem> <MudSelectItem Value="@(StreamingMode.HttpLiveStreamingSegmenter)">HLS Segmenter</MudSelectItem>
} }
else else

Loading…
Cancel
Save