Preserve native broadcast video and add patient shared stream startup
This commit is contained in:
@@ -1246,14 +1246,14 @@ namespace Jellyfin.Plugin.Enigma2
|
||||
streams = _streamProbe.LastKnown(streamUrl, programme);
|
||||
_logger.LogWarning("[Enigma2] Broadcast track analysis unavailable; keeping continuity with {MetadataState} metadata", streams == null ? "unknown" : "last-known");
|
||||
}
|
||||
if (streams == null) throw new InvalidOperationException("Broadcast metadata unavailable; refusing a guessed status format");
|
||||
// Rich programs use one explicitly ordered local transport, so native
|
||||
// Jellyfin maps the chosen language/subtitle instead of auto-selecting audio and adding -sn.
|
||||
var richProgram = streams != null && (streams.Count(s => s.Type == MediaStreamType.Audio) > 1 || streams.Any(s => s.Type == MediaStreamType.Subtitle));
|
||||
if (_continuity != null && (useSlates || richProgram))
|
||||
{
|
||||
feedback?.Report("waiting_for_stream");
|
||||
var tracks = streams == null ? BroadcastTracks.Fallback(Plugin.Instance.Configuration.PreserveSourceResolution)
|
||||
: new BroadcastTracks(streams, useSlates, Plugin.Instance.Configuration.PreserveSourceResolution);
|
||||
var tracks = new BroadcastTracks(streams);
|
||||
return await _continuity.Open(streamUrl, feedback?.Language ?? "en", cancellationToken, tracks, useSlates).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user