|
|
|
@ -261,7 +261,7 @@ namespace Emby.Server.Implementations.LiveTv
|
|
|
|
|
return info.Item1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Task<Tuple<MediaSourceInfo, IDirectStreamProvider, bool>> GetChannelStream(string id, string mediaSourceId, CancellationToken cancellationToken)
|
|
|
|
|
public Task<Tuple<MediaSourceInfo, IDirectStreamProvider>> GetChannelStream(string id, string mediaSourceId, CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
return GetLiveStream(id, mediaSourceId, true, cancellationToken);
|
|
|
|
|
}
|
|
|
|
@ -323,7 +323,7 @@ namespace Emby.Server.Implementations.LiveTv
|
|
|
|
|
return _services.FirstOrDefault(i => string.Equals(i.Name, name, StringComparison.OrdinalIgnoreCase));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task<Tuple<MediaSourceInfo, IDirectStreamProvider, bool>> GetLiveStream(string id, string mediaSourceId, bool isChannel, CancellationToken cancellationToken)
|
|
|
|
|
private async Task<Tuple<MediaSourceInfo, IDirectStreamProvider>> GetLiveStream(string id, string mediaSourceId, bool isChannel, CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
if (string.Equals(id, mediaSourceId, StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
@ -334,7 +334,6 @@ namespace Emby.Server.Implementations.LiveTv
|
|
|
|
|
bool isVideo;
|
|
|
|
|
ILiveTvService service;
|
|
|
|
|
IDirectStreamProvider directStreamProvider = null;
|
|
|
|
|
var assumeInterlaced = false;
|
|
|
|
|
|
|
|
|
|
if (isChannel)
|
|
|
|
|
{
|
|
|
|
@ -383,12 +382,7 @@ namespace Emby.Server.Implementations.LiveTv
|
|
|
|
|
|
|
|
|
|
Normalize(info, service, isVideo);
|
|
|
|
|
|
|
|
|
|
if (!(service is EmbyTV.EmbyTV))
|
|
|
|
|
{
|
|
|
|
|
assumeInterlaced = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return new Tuple<MediaSourceInfo, IDirectStreamProvider, bool>(info, directStreamProvider, assumeInterlaced);
|
|
|
|
|
return new Tuple<MediaSourceInfo, IDirectStreamProvider>(info, directStreamProvider);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Normalize(MediaSourceInfo mediaSource, ILiveTvService service, bool isVideo)
|
|
|
|
@ -492,6 +486,12 @@ namespace Emby.Server.Implementations.LiveTv
|
|
|
|
|
{
|
|
|
|
|
stream.NalLengthSize = "0";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (stream.Type == MediaStreamType.Video)
|
|
|
|
|
{
|
|
|
|
|
stream.IsInterlaced = true;
|
|
|
|
|
stream.AllowStreamCopy = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|