|
@@ -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;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|