Verify decoder integration E2E and fix live metadata probing and mapping
This commit is contained in:
@@ -1173,7 +1173,14 @@ namespace Jellyfin.Plugin.Enigma2
|
||||
|
||||
var streamUrl = string.Format("{0}/{1}{2}", baseUrl, channelOid, trancodingUrl);
|
||||
streamUrl = _streamRelay.Register(streamUrl);
|
||||
var streams = await _streamProbe.Get(streamUrl, cancellationToken).ConfigureAwait(false);
|
||||
var fields = channelOid.Split(':');
|
||||
var programme = !Plugin.Instance.Configuration.TranscodedStream && fields.Length > 3 && int.TryParse(fields[3], NumberStyles.HexNumber, CultureInfo.InvariantCulture, out var sid) ? sid : (int?)null;
|
||||
var streams = await _streamProbe.Get(streamUrl, cancellationToken, programme).ConfigureAwait(false);
|
||||
|
||||
// A live TS may enumerate its EPG/data PID before AV on the next open.
|
||||
// Jellyfin maps positions in MediaStreams rather than MPEG-TS PID values.
|
||||
// Its supported unknown-index path selects AV automatically and omits data.
|
||||
streams = streams.Select(s => LiveStreamProbe.ParseLiveMetadata(s)).ToList();
|
||||
|
||||
return new MediaSourceInfo
|
||||
{
|
||||
@@ -1183,6 +1190,7 @@ namespace Jellyfin.Plugin.Enigma2
|
||||
Container = Plugin.Instance.Configuration.TranscodedStream ? "mpegts" : "ts",
|
||||
IsInfiniteStream = true,
|
||||
SupportsProbing = false,
|
||||
AnalyzeDurationMs = 1500,
|
||||
SupportsDirectPlay = false,
|
||||
MediaStreams = streams
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user