aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs2
-rw-r--r--MediaBrowser.Api/Playback/Hls/VideoHlsService.cs2
-rw-r--r--MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs6
3 files changed, 6 insertions, 4 deletions
diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs
index 8ee508c4d..0d501066e 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 dcfafee78..2d1abf7e9 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 308784299..f34b43e43 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<Episode, DateTime, bool>(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<Episode, DateTime, bool>(firstEpisode, DateTime.MinValue, true);