From 3a309db3c53542be3b2d3854b077cfd125f1f435 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 9 Aug 2015 12:35:27 -0400 Subject: [PATCH] update tv --- MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs | 2 +- MediaBrowser.Api/Playback/Hls/VideoHlsService.cs | 2 +- MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs index 8ee508c4d1..0d501066e9 100644 --- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs @@ -825,7 +825,7 @@ namespace MediaBrowser.Api.Playback.Hls } else { - var keyFrameArg = string.Format(" -force_key_frames expr:gte(t,n_forced*{0})", + var keyFrameArg = string.Format(" -force_key_frames \"expr:gte(t,n_forced*{0})\"", state.SegmentLength.ToString(UsCulture)); var hasGraphicalSubs = state.SubtitleStream != null && !state.SubtitleStream.IsTextSubtitleStream; diff --git a/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs b/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs index dcfafee78c..2d1abf7e9d 100644 --- a/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs @@ -100,7 +100,7 @@ namespace MediaBrowser.Api.Playback.Hls args; } - var keyFrameArg = string.Format(" -force_key_frames expr:gte(t,n_forced*{0})", + var keyFrameArg = string.Format(" -force_key_frames \"expr:gte(t,n_forced*{0})\"", state.SegmentLength.ToString(UsCulture)); var hasGraphicalSubs = state.SubtitleStream != null && !state.SubtitleStream.IsTextSubtitleStream; diff --git a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs index 3087842993..f34b43e433 100644 --- a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs +++ b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs @@ -137,6 +137,8 @@ namespace MediaBrowser.Server.Implementations.TV var lastWatchedDate = DateTime.MinValue; Episode nextUp = null; + var includeMissing = user.Configuration.DisplayMissingEpisodes; + // Go back starting with the most recent episodes foreach (var episode in allEpisodes) { @@ -154,7 +156,7 @@ namespace MediaBrowser.Server.Implementations.TV } else { - if (episode.LocationType != LocationType.Virtual) + if (!episode.IsVirtualUnaired && (!episode.IsMissingEpisode || includeMissing)) { nextUp = episode; } @@ -166,7 +168,7 @@ namespace MediaBrowser.Server.Implementations.TV return new Tuple(nextUp, lastWatchedDate, false); } - var firstEpisode = allEpisodes.LastOrDefault(i => i.LocationType != LocationType.Virtual && !i.IsPlayed(user)); + var firstEpisode = allEpisodes.LastOrDefault(i => !i.IsVirtualUnaired && (!i.IsMissingEpisode || includeMissing) && !i.IsPlayed(user)); // Return the first episode return new Tuple(firstEpisode, DateTime.MinValue, true);