From c1208a2f8d73d4c567562a044b77dfe5e6941bd6 Mon Sep 17 00:00:00 2001 From: gerrit507 Date: Sun, 5 Mar 2017 04:02:03 +0100 Subject: [PATCH 1/5] Fix naming of nvenc codecs. It should be nvenc_h264. --- .../MediaEncoding/EncodingHelper.cs | 10 +++++----- MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index ef356c7cda..090232ff07 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -50,7 +50,7 @@ namespace MediaBrowser.Controller.MediaEncoding if (string.Equals(hwType, "nvenc", StringComparison.OrdinalIgnoreCase)) { - return GetAvailableEncoder("h264_nvenc", defaultEncoder); + return GetAvailableEncoder("nvenc_h264", defaultEncoder); } if (string.Equals(hwType, "h264_omx", StringComparison.OrdinalIgnoreCase)) { @@ -591,8 +591,8 @@ namespace MediaBrowser.Controller.MediaEncoding } - // h264 (h264_nvenc) - else if (string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase)) + // h264 (nvenc_h264) + else if (string.Equals(videoEncoder, "nvenc_h264", StringComparison.OrdinalIgnoreCase)) { param += "-preset default"; } @@ -670,10 +670,10 @@ namespace MediaBrowser.Controller.MediaEncoding { var level = NormalizeTranscodingLevel(state.OutputVideoCodec, request.Level); - // h264_qsv and h264_nvenc expect levels to be expressed as a decimal. libx264 supports decimal and non-decimal format + // h264_qsv and nvenc_h264 expect levels to be expressed as a decimal. libx264 supports decimal and non-decimal format // also needed for libx264 due to https://trac.ffmpeg.org/ticket/3307 if (string.Equals(videoEncoder, "h264_qsv", StringComparison.OrdinalIgnoreCase) || - string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase) || + string.Equals(videoEncoder, "nvenc_h264", StringComparison.OrdinalIgnoreCase) || string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase)) { switch (level) diff --git a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs index b37e783b86..7bcbc97eba 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs @@ -133,7 +133,7 @@ namespace MediaBrowser.MediaEncoding.Encoder "libopus", "libvorbis", "srt", - "h264_nvenc", + "nvenc_h264", "h264_qsv", "h264_omx", "h264_vaapi", From 46b6235b8a974c5f8ab880af97d498c635c3365a Mon Sep 17 00:00:00 2001 From: gerrit507 Date: Sun, 5 Mar 2017 13:25:36 +0100 Subject: [PATCH 2/5] Revert "Fix naming of nvenc codecs. It should be nvenc_h264." This reverts commit 44ae8c94fc720fc14d4fc551cd375006691d3d3e. --- .../MediaEncoding/EncodingHelper.cs | 10 +++++----- MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 090232ff07..ef356c7cda 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -50,7 +50,7 @@ namespace MediaBrowser.Controller.MediaEncoding if (string.Equals(hwType, "nvenc", StringComparison.OrdinalIgnoreCase)) { - return GetAvailableEncoder("nvenc_h264", defaultEncoder); + return GetAvailableEncoder("h264_nvenc", defaultEncoder); } if (string.Equals(hwType, "h264_omx", StringComparison.OrdinalIgnoreCase)) { @@ -591,8 +591,8 @@ namespace MediaBrowser.Controller.MediaEncoding } - // h264 (nvenc_h264) - else if (string.Equals(videoEncoder, "nvenc_h264", StringComparison.OrdinalIgnoreCase)) + // h264 (h264_nvenc) + else if (string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase)) { param += "-preset default"; } @@ -670,10 +670,10 @@ namespace MediaBrowser.Controller.MediaEncoding { var level = NormalizeTranscodingLevel(state.OutputVideoCodec, request.Level); - // h264_qsv and nvenc_h264 expect levels to be expressed as a decimal. libx264 supports decimal and non-decimal format + // h264_qsv and h264_nvenc expect levels to be expressed as a decimal. libx264 supports decimal and non-decimal format // also needed for libx264 due to https://trac.ffmpeg.org/ticket/3307 if (string.Equals(videoEncoder, "h264_qsv", StringComparison.OrdinalIgnoreCase) || - string.Equals(videoEncoder, "nvenc_h264", StringComparison.OrdinalIgnoreCase) || + string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase) || string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase)) { switch (level) diff --git a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs index 7bcbc97eba..b37e783b86 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs @@ -133,7 +133,7 @@ namespace MediaBrowser.MediaEncoding.Encoder "libopus", "libvorbis", "srt", - "nvenc_h264", + "h264_nvenc", "h264_qsv", "h264_omx", "h264_vaapi", From a74373e851f98c66ce39f73b288419a3781b1449 Mon Sep 17 00:00:00 2001 From: gerrit507 Date: Sun, 5 Mar 2017 13:35:23 +0100 Subject: [PATCH 3/5] Remove level param for nvenc, because it fails to encode with it. --- MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index ef356c7cda..8afee9f35f 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -671,9 +671,8 @@ namespace MediaBrowser.Controller.MediaEncoding var level = NormalizeTranscodingLevel(state.OutputVideoCodec, request.Level); // h264_qsv and h264_nvenc expect levels to be expressed as a decimal. libx264 supports decimal and non-decimal format - // also needed for libx264 due to https://trac.ffmpeg.org/ticket/3307 + // also needed for libx264 due to https://trac.ffmpeg.org/ticket/3307 if (string.Equals(videoEncoder, "h264_qsv", StringComparison.OrdinalIgnoreCase) || - string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase) || string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase)) { switch (level) @@ -710,10 +709,15 @@ namespace MediaBrowser.Controller.MediaEncoding break; } } + // nvenc doesn't decode with param -level set ?! + if (string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase)){ + param += ""; + } else if (!string.Equals(videoEncoder, "h264_omx", StringComparison.OrdinalIgnoreCase)) { param += " -level " + level; } + } if (string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase)) From 44a4e662ac0e2b067266011c686ce79bbef5e93c Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 16 Mar 2017 13:21:24 -0400 Subject: [PATCH 4/5] update hdhomerun model info caching --- .../LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs | 14 +++++++++++--- .../Encoder/EncoderValidator.cs | 1 + MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs | 5 ++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs index d9c0807ded..02a6bf85d8 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs @@ -131,7 +131,10 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun DiscoverResponse response; if (_modelCache.TryGetValue(info.Url, out response)) { - return response; + if ((DateTime.UtcNow - response.DateQueried).TotalHours <= 12) + { + return response; + } } } @@ -141,8 +144,6 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun { Url = string.Format("{0}/discover.json", GetApiUrl(info, false)), CancellationToken = cancellationToken, - CacheLength = TimeSpan.FromDays(1), - CacheMode = CacheMode.Unconditional, TimeoutMs = Convert.ToInt32(TimeSpan.FromSeconds(5).TotalMilliseconds), BufferContent = false @@ -638,6 +639,13 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun public string BaseURL { get; set; } public string LineupURL { get; set; } public int TunerCount { get; set; } + + public DateTime DateQueried { get; set; } + + public DiscoverResponse() + { + DateQueried = DateTime.UtcNow; + } } public async Task> DiscoverDevices(int discoveryDurationMs, CancellationToken cancellationToken) diff --git a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs index 9c1189f6ca..15221c2acd 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs @@ -89,6 +89,7 @@ namespace MediaBrowser.MediaEncoding.Encoder var found = new List(); var required = new[] { + "mpeg2video", "h264_qsv", "hevc_qsv", "mpeg2_qsv", diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs index 8a150e0c15..650d7a1380 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs @@ -464,10 +464,9 @@ namespace MediaBrowser.XbmcMetadata.Parsers if (!string.IsNullOrWhiteSpace(val)) { - item.ProductionLocations = val.Split('/') + item.ProductionLocations.AddRange(val.Split('/') .Select(i => i.Trim()) - .Where(i => !string.IsNullOrWhiteSpace(i)) - .ToList(); + .Where(i => !string.IsNullOrWhiteSpace(i))); } break; } From db904832388278a36d5f1b1e7c1609931694e9e7 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 16 Mar 2017 13:23:30 -0400 Subject: [PATCH 5/5] 3.2.8.2 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 1c2997eedb..1148ee0e7d 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.8.1")] +[assembly: AssemblyVersion("3.2.8.2")]