From a3a37f5e86fb3e9f61c0088cefe1a0748831e93f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 9 Feb 2017 19:48:18 -0500 Subject: [PATCH 01/52] 3.2.1 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 7a98bd22e8..09072764d6 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.1.100")] +[assembly: AssemblyVersion("3.2.1.0")] From 282934bd53ee785af0b71f004409cb31ab850340 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 24 Feb 2017 15:18:48 -0500 Subject: [PATCH 02/52] fix merge conflict --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 09072764d6..069f6e9fc3 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.1.0")] +[assembly: AssemblyVersion("3.2.3.1")] From 5d5f4162eb06bc1b6a674560c905aead182fa548 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 24 Feb 2017 15:20:34 -0500 Subject: [PATCH 03/52] 3.2.3 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 069f6e9fc3..81f743259b 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.3.1")] +[assembly: AssemblyVersion("3.2.3")] From c07e774ca9c0f234ec6899e17fc70301d1990290 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 24 Feb 2017 15:21:00 -0500 Subject: [PATCH 04/52] fix merge conflict --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 81f743259b..069f6e9fc3 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.3")] +[assembly: AssemblyVersion("3.2.3.1")] From c456490de43082f008dd592345e76cf75db1ad0a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 24 Feb 2017 15:21:30 -0500 Subject: [PATCH 05/52] 3.2.3 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 069f6e9fc3..81f743259b 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.3.1")] +[assembly: AssemblyVersion("3.2.3")] From 1cef641d176be5ca614f6c57138bf6cd7ac59136 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 25 Feb 2017 10:47:16 -0500 Subject: [PATCH 06/52] 3.2.4 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 81f743259b..ad698d41e5 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.3")] +[assembly: AssemblyVersion("3.2.4")] From bdf959cd8381ddbe77051faaab83436fedb9f0f7 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 25 Feb 2017 10:59:19 -0500 Subject: [PATCH 07/52] fix m2ts input specifier --- MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 4e1a0a8d70..5d0b0558bf 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -154,6 +154,10 @@ namespace MediaBrowser.Controller.MediaEncoding { return "mpegts"; } + if (string.Equals(container, "m2ts", StringComparison.OrdinalIgnoreCase)) + { + return null; + } return container; } From c63edb6e887e14a0876a275cd61696e0e96e7113 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 27 Feb 2017 13:47:18 -0500 Subject: [PATCH 08/52] update recording params --- .../LiveTv/EmbyTV/EncodedRecorder.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs index 7460a9f06b..0567bdfd9e 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs @@ -163,8 +163,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV var durationParam = " -t " + _mediaEncoder.GetTimeParameter(duration.Ticks); var inputModifiers = "-fflags +genpts -async 1 -vsync -1"; - var mapArgs = "-map 0 -ignore_unknown"; - var commandLineArgs = "-i \"{0}\"{5} " + mapArgs + " {2} -map_metadata -1 -threads 0 {3}{4} -y \"{1}\""; + var commandLineArgs = "-i \"{0}\"{5} {2} -map_metadata -1 -threads 0 {3}{4} -y \"{1}\""; long startTimeTicks = 0; //if (mediaSource.DateLiveStreamOpened.HasValue) @@ -207,7 +206,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV // do not copy aac because many players have difficulty with aac_latm if (_liveTvOptions.EnableOriginalAudioWithEncodedRecordings && !string.Equals(inputAudioCodec, "aac", StringComparison.OrdinalIgnoreCase)) { - return "-codec:a copy"; + return "-codec:a:0 copy"; } var audioChannels = 2; @@ -216,7 +215,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { audioChannels = audioStream.Channels ?? audioChannels; } - return "-codec:a aac -strict experimental -ab 320000"; + return "-codec:a:0 aac -strict experimental -ab 320000"; } private bool EncodeVideo(MediaSourceInfo mediaSource) From 5906e7f8b708b657ae0b4d827f655187a556b32d Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 27 Feb 2017 13:47:47 -0500 Subject: [PATCH 09/52] 3.2.5 --- .../MediaEncoding/EncodingHelper.cs | 22 +++++++++++++++++-- SharedVersion.cs | 2 +- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 5d0b0558bf..f847b29ee3 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -154,10 +154,27 @@ namespace MediaBrowser.Controller.MediaEncoding { return "mpegts"; } + // For these need to find out the ffmpeg names if (string.Equals(container, "m2ts", StringComparison.OrdinalIgnoreCase)) { return null; } + if (string.Equals(container, "wmv", StringComparison.OrdinalIgnoreCase)) + { + return null; + } + if (string.Equals(container, "vob", StringComparison.OrdinalIgnoreCase)) + { + return null; + } + if (string.Equals(container, "mpg", StringComparison.OrdinalIgnoreCase)) + { + return null; + } + if (string.Equals(container, "mpeg", StringComparison.OrdinalIgnoreCase)) + { + return null; + } return container; } @@ -1481,7 +1498,7 @@ namespace MediaBrowser.Controller.MediaEncoding //inputModifier += " -noaccurate_seek"; } - if (!string.IsNullOrWhiteSpace(state.InputContainer)) + if (!string.IsNullOrWhiteSpace(state.InputContainer) && state.VideoType == VideoType.VideoFile) { var inputFormat = GetInputFormat(state.InputContainer); if (!string.IsNullOrWhiteSpace(inputFormat)) @@ -1490,7 +1507,8 @@ namespace MediaBrowser.Controller.MediaEncoding } } - if (state.RunTimeTicks.HasValue && string.IsNullOrWhiteSpace(encodingOptions.HardwareAccelerationType)) + // Only do this for video files due to sometimes unpredictable codec names coming from BDInfo + if (state.RunTimeTicks.HasValue && string.IsNullOrWhiteSpace(encodingOptions.HardwareAccelerationType) && state.VideoType == VideoType.VideoFile) { foreach (var stream in state.MediaSource.MediaStreams) { diff --git a/SharedVersion.cs b/SharedVersion.cs index ad698d41e5..f0f5c27b28 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.4")] +[assembly: AssemblyVersion("3.2.5")] From 49fd5551ba63c375b1ecbc57751fa04aa7dcec2b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 8 Mar 2017 02:06:18 -0500 Subject: [PATCH 10/52] fix merge conflict --- .../MediaEncoding/EncodingHelper.cs | 73 +++++++++++++------ 1 file changed, 49 insertions(+), 24 deletions(-) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index f847b29ee3..80b9cc1543 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -175,12 +175,22 @@ namespace MediaBrowser.Controller.MediaEncoding { return null; } + if (string.Equals(container, "rec", StringComparison.OrdinalIgnoreCase)) + { + return null; + } + // Seeing reported failures here, not sure yet if this is related to specfying input format + if (string.Equals(container, "m4v", StringComparison.OrdinalIgnoreCase)) + { + return null; + } return container; } public string GetDecoderFromCodec(string codec) { + // For these need to find out the ffmpeg names if (string.Equals(codec, "mp2", StringComparison.OrdinalIgnoreCase)) { return null; @@ -189,6 +199,10 @@ namespace MediaBrowser.Controller.MediaEncoding { return null; } + if (string.Equals(codec, "eac3", StringComparison.OrdinalIgnoreCase)) + { + return null; + } return codec; } @@ -454,21 +468,6 @@ namespace MediaBrowser.Controller.MediaEncoding return level; } - /// - /// Gets the probe size argument. - /// - /// The state. - /// System.String. - public string GetProbeSizeArgument(EncodingJobInfo state) - { - if (state.PlayableStreamFileNames.Count > 0) - { - return _mediaEncoder.GetProbeSizeAndAnalyzeDurationArgument(state.PlayableStreamFileNames.ToArray(), state.InputProtocol); - } - - return _mediaEncoder.GetProbeSizeAndAnalyzeDurationArgument(new[] { state.MediaPath }, state.InputProtocol); - } - /// /// Gets the text subtitle param. /// @@ -1191,11 +1190,6 @@ namespace MediaBrowser.Controller.MediaEncoding } } - if (type == MediaStreamType.Video) - { - streams = streams.Where(i => !string.Equals(i.Codec, "mjpeg", StringComparison.OrdinalIgnoreCase)).ToList(); - } - if (returnFirstIfNoIndex && type == MediaStreamType.Audio) { return streams.FirstOrDefault(i => i.Channels.HasValue && i.Channels.Value > 0) ?? @@ -1443,12 +1437,43 @@ namespace MediaBrowser.Controller.MediaEncoding } } + public static string GetProbeSizeArgument(int numInputFiles) + { + return numInputFiles > 1 ? "-probesize 1G" : ""; + } + + public static string GetAnalyzeDurationArgument(int numInputFiles) + { + return numInputFiles > 1 ? "-analyzeduration 200M" : ""; + } + public string GetInputModifier(EncodingJobInfo state, EncodingOptions encodingOptions) { var inputModifier = string.Empty; - var probeSize = GetProbeSizeArgument(state); - inputModifier += " " + probeSize; + var numInputFiles = state.PlayableStreamFileNames.Count > 0 ? state.PlayableStreamFileNames.Count : 1; + var probeSizeArgument = GetProbeSizeArgument(numInputFiles); + + string analyzeDurationArgument; + if (state.MediaSource.AnalyzeDurationMs.HasValue) + { + analyzeDurationArgument = "-analyzeduration " + (state.MediaSource.AnalyzeDurationMs.Value * 1000).ToString(CultureInfo.InvariantCulture); + } + else + { + analyzeDurationArgument = GetAnalyzeDurationArgument(numInputFiles); + } + + if (!string.IsNullOrWhiteSpace(probeSizeArgument)) + { + inputModifier += " " + probeSizeArgument; + } + + if (!string.IsNullOrWhiteSpace(analyzeDurationArgument)) + { + inputModifier += " " + analyzeDurationArgument; + } + inputModifier = inputModifier.Trim(); var userAgentParam = GetUserAgentParam(state); @@ -1498,7 +1523,7 @@ namespace MediaBrowser.Controller.MediaEncoding //inputModifier += " -noaccurate_seek"; } - if (!string.IsNullOrWhiteSpace(state.InputContainer) && state.VideoType == VideoType.VideoFile) + if (!string.IsNullOrWhiteSpace(state.InputContainer) && state.VideoType == VideoType.VideoFile && string.IsNullOrWhiteSpace(encodingOptions.HardwareAccelerationType)) { var inputFormat = GetInputFormat(state.InputContainer); if (!string.IsNullOrWhiteSpace(inputFormat)) @@ -1508,7 +1533,7 @@ namespace MediaBrowser.Controller.MediaEncoding } // Only do this for video files due to sometimes unpredictable codec names coming from BDInfo - if (state.RunTimeTicks.HasValue && string.IsNullOrWhiteSpace(encodingOptions.HardwareAccelerationType) && state.VideoType == VideoType.VideoFile) + if (state.RunTimeTicks.HasValue && state.VideoType == VideoType.VideoFile && string.IsNullOrWhiteSpace(encodingOptions.HardwareAccelerationType)) { foreach (var stream in state.MediaSource.MediaStreams) { From 0ac0a09c806112ce82dcd23f43c7df9ff8b5531d Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 8 Mar 2017 02:24:17 -0500 Subject: [PATCH 11/52] fix merge conflict --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index f0f5c27b28..80c22d9e38 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.5")] +[assembly: AssemblyVersion("3.2.6.1")] From cf57e8193c5108804724dd55242a56e03b907ed7 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 8 Mar 2017 02:24:46 -0500 Subject: [PATCH 12/52] 3.2.6 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 80c22d9e38..f85ac44975 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.6.1")] +[assembly: AssemblyVersion("3.2.6")] From 6f6aa075d820f4d82009917b11d51344ac87f882 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 8 Mar 2017 14:19:30 -0500 Subject: [PATCH 13/52] fix merge conflict --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index f85ac44975..f9ef9432f0 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.6")] +[assembly: AssemblyVersion("3.2.6.2")] From d1068024b00c1fc9113233517959cd490293b6a0 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 8 Mar 2017 14:49:02 -0500 Subject: [PATCH 14/52] 3.2.7 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index f9ef9432f0..4ce7d38489 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.6.2")] +[assembly: AssemblyVersion("3.2.7")] From 04dc04298bb627eb53dd45140777a74f9c3a75bd Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 15 Mar 2017 16:07:07 -0400 Subject: [PATCH 15/52] 3.2.8 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 4ce7d38489..8cf5d45607 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.7")] +[assembly: AssemblyVersion("3.2.8")] From 75f58d5665322a5045649aed89aecfef011b315c Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 29 Mar 2017 02:25:24 -0400 Subject: [PATCH 16/52] fix merge conflict --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 8cf5d45607..8ed0121059 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.8")] +[assembly: AssemblyVersion("3.2.8.16")] From 4f19a7a032aadf8dec84cdb7075380734647fb73 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 29 Mar 2017 02:48:05 -0400 Subject: [PATCH 17/52] ignore socket error on reuseaddress --- Emby.Common.Implementations/Net/SocketFactory.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Emby.Common.Implementations/Net/SocketFactory.cs b/Emby.Common.Implementations/Net/SocketFactory.cs index 1fd367afb9..5169c5a219 100644 --- a/Emby.Common.Implementations/Net/SocketFactory.cs +++ b/Emby.Common.Implementations/Net/SocketFactory.cs @@ -71,10 +71,18 @@ namespace Emby.Common.Implementations.Net if (remotePort < 0) throw new ArgumentException("remotePort cannot be less than zero.", "remotePort"); var retVal = new Socket(AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp); - + try { retVal.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); + } + catch (SocketException) + { + // This is not supported on all operating systems (qnap) + } + + try + { return new UdpSocket(retVal, new IpEndPointInfo(remoteAddress, remotePort)); } catch From 8875dc94b0121fc1acc3d82d73badd52380a7deb Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 29 Mar 2017 03:19:52 -0400 Subject: [PATCH 18/52] 3.2.9 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 8ed0121059..2de8fdfe59 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.8.16")] +[assembly: AssemblyVersion("3.2.9")] From 94f30720ca6e12c8d40f06599689efd17c0d2c0e Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 30 Mar 2017 14:37:32 -0400 Subject: [PATCH 19/52] fix ogm and divx encoding --- MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index b7b31509c5..1c716a620e 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -188,6 +188,14 @@ namespace MediaBrowser.Controller.MediaEncoding { return null; } + if (string.Equals(container, "ogm", StringComparison.OrdinalIgnoreCase)) + { + return null; + } + if (string.Equals(container, "divx", StringComparison.OrdinalIgnoreCase)) + { + return null; + } // Seeing reported failures here, not sure yet if this is related to specfying input format if (string.Equals(container, "m4v", StringComparison.OrdinalIgnoreCase)) From 053f2e6d772fce6dcd4379f417ac16be1c853e4b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 30 Mar 2017 14:37:45 -0400 Subject: [PATCH 20/52] fix hd homerun live stream sharing --- .../LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs index 8fa1bbe231..0a21603eed 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs @@ -382,7 +382,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun { id = "native"; } - id += "_" + url.GetMD5().ToString("N"); + id += "_" + channelId.GetMD5().ToString("N") + "_" + url.GetMD5().ToString("N"); var mediaSource = new MediaSourceInfo { From 0535f663b6f25e839b561d513234b30003c96861 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 30 Mar 2017 16:09:11 -0400 Subject: [PATCH 21/52] 3.2.10 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 2de8fdfe59..6b21062fa1 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.9")] +[assembly: AssemblyVersion("3.2.10")] From 66e901ef93942c631c3ee3b222cc75265e1b17fb Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 7 Apr 2017 15:26:19 -0400 Subject: [PATCH 22/52] fix merge conflicts --- Emby.Common.Implementations/Net/SocketFactory.cs | 8 ++++++-- SharedVersion.cs | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Emby.Common.Implementations/Net/SocketFactory.cs b/Emby.Common.Implementations/Net/SocketFactory.cs index 5169c5a219..39f236afaa 100644 --- a/Emby.Common.Implementations/Net/SocketFactory.cs +++ b/Emby.Common.Implementations/Net/SocketFactory.cs @@ -70,7 +70,11 @@ namespace Emby.Common.Implementations.Net { if (remotePort < 0) throw new ArgumentException("remotePort cannot be less than zero.", "remotePort"); - var retVal = new Socket(AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp); + var addressFamily = remoteAddress.AddressFamily == IpAddressFamily.InterNetwork + ? AddressFamily.InterNetwork + : AddressFamily.InterNetworkV6; + + var retVal = new Socket(addressFamily, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp); try { @@ -80,7 +84,7 @@ namespace Emby.Common.Implementations.Net { // This is not supported on all operating systems (qnap) } - + try { return new UdpSocket(retVal, new IpEndPointInfo(remoteAddress, remotePort)); diff --git a/SharedVersion.cs b/SharedVersion.cs index 6b21062fa1..891f858e00 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.10")] +[assembly: AssemblyVersion("3.2.10.7")] From 5c1c34f4051525604c621774689f4307f4cd637f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 7 Apr 2017 23:18:20 -0400 Subject: [PATCH 23/52] 3.2.11 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 891f858e00..ba8e8ec304 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.10.7")] +[assembly: AssemblyVersion("3.2.11")] From 8457da7eacb047ca73b02b42f04f971ed7f1002b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 7 Apr 2017 23:40:51 -0400 Subject: [PATCH 24/52] update mac project --- MediaBrowser.Server.Mac/Emby.Server.Mac.csproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj index bb67a9e36a..834220f9ce 100644 --- a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj +++ b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj @@ -734,6 +734,9 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\globalize.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\homesections.js + Resources\dashboard-ui\bower_components\emby-webcomponents\idb.js From 2f0c2b4c660260e1cc34e66fdf0ee6f22115b8b7 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 8 Apr 2017 14:31:18 -0400 Subject: [PATCH 25/52] update linux iso mounter --- .../EnvironmentInfo/EnvironmentInfo.cs | 9 +++++++++ MediaBrowser.Api/UserService.cs | 2 +- MediaBrowser.Model/System/IEnvironmentInfo.cs | 1 + Nuget/MediaBrowser.Common.nuspec | 2 +- Nuget/MediaBrowser.Server.Core.nuspec | 2 +- 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs b/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs index 5da1ae2dce..ad6e35700b 100644 --- a/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs +++ b/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Threading.Tasks; @@ -75,6 +76,14 @@ namespace Emby.Common.Implementations.EnvironmentInfo } } + public char PathSeparator + { + get + { + return Path.PathSeparator; + } + } + public MediaBrowser.Model.System.Architecture SystemArchitecture { get diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index bbae918a1d..fde03e1f2c 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -461,7 +461,7 @@ namespace MediaBrowser.Api { var success = await _userManager.AuthenticateUser(user.Name, request.CurrentPassword, Request.RemoteIp).ConfigureAwait(false); - if (success != null) + if (success == null) { throw new ArgumentException("Invalid user or password entered."); } diff --git a/MediaBrowser.Model/System/IEnvironmentInfo.cs b/MediaBrowser.Model/System/IEnvironmentInfo.cs index 2c57df97ca..4430bfe074 100644 --- a/MediaBrowser.Model/System/IEnvironmentInfo.cs +++ b/MediaBrowser.Model/System/IEnvironmentInfo.cs @@ -11,6 +11,7 @@ namespace MediaBrowser.Model.System void SetProcessEnvironmentVariable(string name, string value); string GetUserId(); string StackTrace { get; } + char PathSeparator { get; } } public enum OperatingSystem diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index 54133b718a..20681b317d 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common - 3.0.697 + 3.0.698 Emby.Common Emby Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index e59460c94d..7b5f348c80 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Server.Core - 3.0.697 + 3.0.698 Emby.Server.Core Emby Team ebr,Luke,scottisafool From 1c0e23fd7ac3dae97c82db781b189284b63ef0b3 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 8 Apr 2017 14:52:49 -0400 Subject: [PATCH 26/52] update segment result --- MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs index 3ead4626a7..bd4442a590 100644 --- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs @@ -443,7 +443,7 @@ namespace MediaBrowser.Api.Playback.Hls var currentTranscodingIndex = GetCurrentTranscodingIndex(playlistPath, segmentExtension); // If requested segment is less than transcoding position, we can't transcode backwards, so assume it's ready - if (segmentIndex != currentTranscodingIndex) + if (segmentIndex < currentTranscodingIndex) { return await GetSegmentResult(state, segmentPath, segmentIndex, transcodingJob).ConfigureAwait(false); } From 885d1f55a67aab0cc9c9dd515374a3142d65ca81 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 8 Apr 2017 14:53:12 -0400 Subject: [PATCH 27/52] 3.2.12 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index ba8e8ec304..6abeddbc21 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.11")] +[assembly: AssemblyVersion("3.2.12")] From 5dca8cb077fb544628f62939bbda292d8c91b637 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 20 Apr 2017 23:49:33 -0400 Subject: [PATCH 28/52] fix merge conflicts --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 6abeddbc21..ab54dc7807 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.12")] +[assembly: AssemblyVersion("3.2.12.11")] From 423045dd56cb386c1f0f9549b7d87a7c7fe9c896 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 21 Apr 2017 00:02:43 -0400 Subject: [PATCH 29/52] 3.2.13 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index ab54dc7807..e0fda273a7 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.12.11")] +[assembly: AssemblyVersion("3.2.13")] From 3e29d73d0c77c682e161c413703d5e36a8466885 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 6 May 2017 16:20:07 -0400 Subject: [PATCH 30/52] fix merge conflict --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index e0fda273a7..0cf34eeacc 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.13")] +[assembly: AssemblyVersion("3.2.13.14")] From 9eb18277f7aeb05353c4064ebc95ba4594c7e121 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 6 May 2017 16:30:16 -0400 Subject: [PATCH 31/52] 3.2.14.0 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 0cf34eeacc..91f999b63f 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.13.14")] +[assembly: AssemblyVersion("3.2.14.0")] From a4e4b13b0205eba41754c58420229be69165c28e Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 7 May 2017 16:49:57 -0400 Subject: [PATCH 32/52] update smb input --- MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs b/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs index dc3cb5f5e1..498df214f9 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs @@ -45,11 +45,6 @@ namespace MediaBrowser.MediaEncoding.Encoder /// System.String. private static string GetFileInputArgument(string path) { - if (path.IndexOf("://") != -1) - { - return string.Format("\"{0}\"", path); - } - // Quotes are valid path characters in linux and they need to be escaped here with a leading \ path = NormalizePath(path); From 59d3b8853d01973bb72cc42913789f71f5a259f3 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 8 May 2017 13:15:26 -0400 Subject: [PATCH 33/52] fix moviedb find by external id --- MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs | 5 +++++ .../TV/TheMovieDb/MovieDbSeriesProvider.cs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs b/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs index 498df214f9..dc3cb5f5e1 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs @@ -45,6 +45,11 @@ namespace MediaBrowser.MediaEncoding.Encoder /// System.String. private static string GetFileInputArgument(string path) { + if (path.IndexOf("://") != -1) + { + return string.Format("\"{0}\"", path); + } + // Quotes are valid path characters in linux and they need to be escaped here with a leading \ path = NormalizePath(path); diff --git a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeriesProvider.cs b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeriesProvider.cs index f290247375..7bf926799f 100644 --- a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeriesProvider.cs +++ b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeriesProvider.cs @@ -443,7 +443,7 @@ namespace MediaBrowser.Providers.TV private async Task FindByExternalId(string id, string externalSource, CancellationToken cancellationToken) { - var url = string.Format("https://api.themoviedb.org/3/tv/find/{0}?api_key={1}&external_source={2}", + var url = string.Format("https://api.themoviedb.org/3/find/{0}?api_key={1}&external_source={2}", id, MovieDbProvider.ApiKey, externalSource); From 1cffa277a47e0614c33f039500658c98e3a1dc2b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 8 May 2017 15:37:16 -0400 Subject: [PATCH 34/52] add library monitor error handling --- Emby.Server.Core/IO/LibraryMonitor.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Emby.Server.Core/IO/LibraryMonitor.cs b/Emby.Server.Core/IO/LibraryMonitor.cs index 0f6a2e9a2c..8af826c881 100644 --- a/Emby.Server.Core/IO/LibraryMonitor.cs +++ b/Emby.Server.Core/IO/LibraryMonitor.cs @@ -294,6 +294,15 @@ namespace Emby.Server.Core.IO return; } + if (_environmentInfo.OperatingSystem != MediaBrowser.Model.System.OperatingSystem.Windows) + { + if (path.StartsWith("\\\\", StringComparison.OrdinalIgnoreCase) || path.StartsWith("smb://", StringComparison.OrdinalIgnoreCase)) + { + // not supported + return; + } + } + // Already being watched if (_fileSystemWatchers.ContainsKey(path)) { From 6dc8bf9aa133c99af12565b1206cd0c633838d84 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 8 May 2017 15:37:32 -0400 Subject: [PATCH 35/52] 3.2.15 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 91f999b63f..81877184dc 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.14.0")] +[assembly: AssemblyVersion("3.2.15.0")] From 65db32b1f878cd478e9f4b2b4c988890a7ca47c9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 12 May 2017 14:18:42 -0400 Subject: [PATCH 36/52] fix merge conflict --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 81877184dc..1ef530ece0 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.15.0")] +[assembly: AssemblyVersion("3.2.15.5")] From 2ce86864eb2e4010824451849a59d1019d82f418 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 12 May 2017 14:20:43 -0400 Subject: [PATCH 37/52] 3.2.16 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 1ef530ece0..28af9d85e2 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.15.5")] +[assembly: AssemblyVersion("3.2.16.0")] From 22afe14665c0a3a568ab063045e5ca5936330044 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 12 May 2017 14:37:10 -0400 Subject: [PATCH 38/52] update mac project --- MediaBrowser.Server.Mac/Emby.Server.Mac.csproj | 6 ------ 1 file changed, 6 deletions(-) diff --git a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj index 73626328a2..a86e58ee02 100644 --- a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj +++ b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj @@ -923,12 +923,6 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\emby-textarea\emby-textarea.js - - Resources\dashboard-ui\bower_components\emby-webcomponents\emby-toggle\emby-toggle.css - - - Resources\dashboard-ui\bower_components\emby-webcomponents\emby-toggle\emby-toggle.js - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\material-icons\2fcryfnatjcs6g4u3t-y5ewrjpiaoeww8aihgqwrjao.woff From d5ad50d18b41336ba032d8c435f0d26b3048d731 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 12 May 2017 14:41:40 -0400 Subject: [PATCH 39/52] update mac project --- MediaBrowser.Server.Mac/Emby.Server.Mac.csproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj index a86e58ee02..fa95fe9359 100644 --- a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj +++ b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj @@ -1034,6 +1034,9 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\lazyloader\lazyloader-intersectionobserver.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\lazyloader\lazyedgehack.css + Resources\dashboard-ui\bower_components\emby-webcomponents\lazyloader\lazyloader-scroll.js From e049d2bfb5e37f3eac886d56f6aacd6308cfc52a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 12 May 2017 22:10:14 -0400 Subject: [PATCH 40/52] update mac project --- MediaBrowser.Server.Mac/Emby.Server.Mac.csproj | 7 +++++++ MediaBrowser.Server.Mac/packages.config | 1 + 2 files changed, 8 insertions(+) diff --git a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj index fa95fe9359..89eea23593 100644 --- a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj +++ b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj @@ -121,6 +121,9 @@ ..\ThirdParty\taglib\TagLib.Portable.dll + + ..\packages\SkiaSharp.1.57.1\lib\net45\SkiaSharp.dll + ..\packages\SQLitePCLRaw.core.1.1.5\lib\net45\SQLitePCLRaw.core.dll @@ -225,6 +228,10 @@ {C97A239E-A96C-4D64-A844-CCF8CC30AECB} Emby.Drawing.Net + + {2312da6d-ff86-4597-9777-bceec32d96dd} + Emby.Drawing.Skia + {6CFEE013-6E7C-432B-AC37-CABF0880C69A} Emby.Drawing.ImageMagick diff --git a/MediaBrowser.Server.Mac/packages.config b/MediaBrowser.Server.Mac/packages.config index a87b88341d..98f56960b2 100644 --- a/MediaBrowser.Server.Mac/packages.config +++ b/MediaBrowser.Server.Mac/packages.config @@ -1,4 +1,5 @@  + \ No newline at end of file From 48fd87d02f4bb91460829dea358e44c160b08558 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 12 May 2017 22:13:05 -0400 Subject: [PATCH 41/52] update mac project --- MediaBrowser.Server.Mac/Emby.Server.Mac.csproj | 4 ---- 1 file changed, 4 deletions(-) diff --git a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj index 89eea23593..b19b736077 100644 --- a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj +++ b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj @@ -232,10 +232,6 @@ {2312da6d-ff86-4597-9777-bceec32d96dd} Emby.Drawing.Skia - - {6CFEE013-6E7C-432B-AC37-CABF0880C69A} - Emby.Drawing.ImageMagick - {08FFF49B-F175-4807-A2B5-73B0EBD9F716} Emby.Drawing From 2fa0df2c7faec409060ce28e3f83197f4fe71dca Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 13 May 2017 00:05:00 -0400 Subject: [PATCH 42/52] update mac project --- MediaBrowser.Server.Mac/Emby.Server.Mac.csproj | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj index b19b736077..8a1c96aded 100644 --- a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj +++ b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj @@ -2704,7 +2704,7 @@ - + Dynamic False @@ -2712,5 +2712,9 @@ Dynamic False + + Dynamic + False + \ No newline at end of file From cd0d4f419cd4dfe3b1c622f55065941ee7bb3355 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 13 May 2017 00:08:14 -0400 Subject: [PATCH 43/52] update mac project --- MediaBrowser.Server.Mac.sln | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/MediaBrowser.Server.Mac.sln b/MediaBrowser.Server.Mac.sln index bc7cba21f8..5568b8455d 100644 --- a/MediaBrowser.Server.Mac.sln +++ b/MediaBrowser.Server.Mac.sln @@ -47,6 +47,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RSSDP", "RSSDP\RSSDP.csproj EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SocketHttpListener.Portable", "SocketHttpListener.Portable\SocketHttpListener.Portable.csproj", "{4F26D5D8-A7B0-42B3-BA42-7CB7D245934E}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emby.Drawing.Skia", "Emby.Drawing.Skia\Emby.Drawing.Skia.csproj", "{2312DA6D-FF86-4597-9777-BCEEC32D96DD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution AppStore|Any CPU = AppStore|Any CPU @@ -498,6 +500,46 @@ Global {4F26D5D8-A7B0-42B3-BA42-7CB7D245934E}.Signed|Any CPU.Build.0 = Release|Any CPU {4F26D5D8-A7B0-42B3-BA42-7CB7D245934E}.Signed|x86.ActiveCfg = Release|Any CPU {4F26D5D8-A7B0-42B3-BA42-7CB7D245934E}.Signed|x86.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Debug|Win32.ActiveCfg = Debug|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Debug|Win32.Build.0 = Debug|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Debug|x64.ActiveCfg = Debug|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Debug|x64.Build.0 = Debug|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Debug|x86.ActiveCfg = Debug|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Debug|x86.Build.0 = Debug|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release Mono|Any CPU.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release Mono|Any CPU.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release Mono|Mixed Platforms.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release Mono|Mixed Platforms.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release Mono|Win32.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release Mono|Win32.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release Mono|x64.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release Mono|x64.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release Mono|x86.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release Mono|x86.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release|Any CPU.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release|Win32.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release|Win32.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release|x64.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release|x64.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release|x86.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Release|x86.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Signed|Any CPU.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Signed|Any CPU.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Signed|Mixed Platforms.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Signed|Mixed Platforms.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Signed|Win32.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Signed|Win32.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Signed|x64.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Signed|x64.Build.0 = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Signed|x86.ActiveCfg = Release|Any CPU + {2312DA6D-FF86-4597-9777-BCEEC32D96DD}.Signed|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 375d856dfbf074be145c181e5b5240cb4481a0ec Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 13 May 2017 00:20:52 -0400 Subject: [PATCH 44/52] update mac project --- MediaBrowser.Server.Mac/Main.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Server.Mac/Main.cs b/MediaBrowser.Server.Mac/Main.cs index 932ff61055..9484a20623 100644 --- a/MediaBrowser.Server.Mac/Main.cs +++ b/MediaBrowser.Server.Mac/Main.cs @@ -32,7 +32,9 @@ using Mono.Unix.Native; using MediaBrowser.Model.System; using MediaBrowser.Model.IO; using Emby.Server.Core.Logging; -using Emby.Drawing.Net; +using Emby.Drawing.Skia; +using MediaBrowser.Controller.Drawing; +using MediaBrowser.Model.Drawing; namespace MediaBrowser.Server.Mac { @@ -112,7 +114,7 @@ namespace MediaBrowser.Server.Mac _fileSystem = fileSystem; - var imageEncoder = new GDIImageEncoder(fileSystem, logManager.GetLogger("GDI")); + var imageEncoder = GetImageEncoder(appPaths, fileSystem, logManager); AppHost = new MacAppHost(appPaths, logManager, @@ -138,6 +140,18 @@ namespace MediaBrowser.Server.Mac Task.Run (() => StartServer(CancellationToken.None)); } + private static IImageEncoder GetImageEncoder(ServerApplicationPaths appPaths, IFileSystem fileSystem, ILogManager logManager) + { + try + { + return new SkiaEncoder(logManager.GetLogger("Skia"), appPaths, () => AppHost.HttpClient, fileSystem); + } + catch (Exception ex) + { + return new GDIImageEncoder(fileSystem, logManager.GetLogger("GDI")); + } + } + private static void GenerateCertificate(string certPath, string certHost, string certPassword) { CertificateGenerator.CreateSelfSignCertificatePfx(certPath, certHost, certPassword, _logger); From 65f9abb9b7558aa61390f298ba63b31f03cd8819 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 13 May 2017 00:22:57 -0400 Subject: [PATCH 45/52] update mac project --- MediaBrowser.Server.Mac/Main.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.Server.Mac/Main.cs b/MediaBrowser.Server.Mac/Main.cs index 9484a20623..8a3a6cdbab 100644 --- a/MediaBrowser.Server.Mac/Main.cs +++ b/MediaBrowser.Server.Mac/Main.cs @@ -32,6 +32,7 @@ using Mono.Unix.Native; using MediaBrowser.Model.System; using MediaBrowser.Model.IO; using Emby.Server.Core.Logging; +using Emby.Drawing; using Emby.Drawing.Skia; using MediaBrowser.Controller.Drawing; using MediaBrowser.Model.Drawing; @@ -148,7 +149,7 @@ namespace MediaBrowser.Server.Mac } catch (Exception ex) { - return new GDIImageEncoder(fileSystem, logManager.GetLogger("GDI")); + return new NullImageEncoder(); } } From e40e6d420652831eec363e6d6baae82a99a4311a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 13 May 2017 00:35:16 -0400 Subject: [PATCH 46/52] update mac project --- MediaBrowser.Server.Mac.sln | 22 ------------------- .../Emby.Server.Mac.csproj | 4 ---- 2 files changed, 26 deletions(-) diff --git a/MediaBrowser.Server.Mac.sln b/MediaBrowser.Server.Mac.sln index 5568b8455d..75cec579a4 100644 --- a/MediaBrowser.Server.Mac.sln +++ b/MediaBrowser.Server.Mac.sln @@ -37,8 +37,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DvdLib", "DvdLib\DvdLib.csp EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emby.Dlna", "Emby.Dlna\Emby.Dlna.csproj", "{805844AB-E92F-45E6-9D99-4F6D48D129A5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emby.Drawing.Net", "Emby.Drawing.Net\Emby.Drawing.Net.csproj", "{C97A239E-A96C-4D64-A844-CCF8CC30AECB}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emby.Photos", "Emby.Photos\Emby.Photos.csproj", "{89AB4548-770D-41FD-A891-8DAFF44F452C}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emby.Server.Implementations", "Emby.Server.Implementations\Emby.Server.Implementations.csproj", "{E383961B-9356-4D5D-8233-9A1079D03055}" @@ -400,26 +398,6 @@ Global {805844AB-E92F-45E6-9D99-4F6D48D129A5}.Signed|Any CPU.Build.0 = Release|Any CPU {805844AB-E92F-45E6-9D99-4F6D48D129A5}.Signed|x86.ActiveCfg = Release|Any CPU {805844AB-E92F-45E6-9D99-4F6D48D129A5}.Signed|x86.Build.0 = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.AppStore|Any CPU.ActiveCfg = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.AppStore|Any CPU.Build.0 = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.AppStore|x86.ActiveCfg = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.AppStore|x86.Build.0 = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Debug|x86.ActiveCfg = Debug|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Debug|x86.Build.0 = Debug|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Release Mono|Any CPU.ActiveCfg = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Release Mono|Any CPU.Build.0 = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Release Mono|x86.ActiveCfg = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Release Mono|x86.Build.0 = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Release|Any CPU.Build.0 = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Release|x86.ActiveCfg = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Release|x86.Build.0 = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Signed|Any CPU.ActiveCfg = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Signed|Any CPU.Build.0 = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Signed|x86.ActiveCfg = Release|Any CPU - {C97A239E-A96C-4D64-A844-CCF8CC30AECB}.Signed|x86.Build.0 = Release|Any CPU {89AB4548-770D-41FD-A891-8DAFF44F452C}.AppStore|Any CPU.ActiveCfg = Release|Any CPU {89AB4548-770D-41FD-A891-8DAFF44F452C}.AppStore|Any CPU.Build.0 = Release|Any CPU {89AB4548-770D-41FD-A891-8DAFF44F452C}.AppStore|x86.ActiveCfg = Release|Any CPU diff --git a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj index 8a1c96aded..6e43908c0d 100644 --- a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj +++ b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj @@ -224,10 +224,6 @@ {89AB4548-770D-41FD-A891-8DAFF44F452C} Emby.Photos - - {C97A239E-A96C-4D64-A844-CCF8CC30AECB} - Emby.Drawing.Net - {2312da6d-ff86-4597-9777-bceec32d96dd} Emby.Drawing.Skia From feb3654bf1aeae7d279c89d105460925dfdd808b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 13 May 2017 17:59:52 -0400 Subject: [PATCH 47/52] fix plugin uninstallation --- Emby.Server.Implementations/Updates/InstallationManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Emby.Server.Implementations/Updates/InstallationManager.cs b/Emby.Server.Implementations/Updates/InstallationManager.cs index e7aa402f25..eed17fb66d 100644 --- a/Emby.Server.Implementations/Updates/InstallationManager.cs +++ b/Emby.Server.Implementations/Updates/InstallationManager.cs @@ -668,7 +668,7 @@ namespace Emby.Server.Implementations.Updates _logger.Info("Deleting plugin file {0}", path); // Make this case-insensitive to account for possible incorrect assembly naming - var file = _fileSystem.GetFilePaths(path) + var file = _fileSystem.GetFilePaths(_fileSystem.GetDirectoryName(path)) .FirstOrDefault(i => string.Equals(i, path, StringComparison.OrdinalIgnoreCase)); if (!string.IsNullOrWhiteSpace(file)) From e2085763296e32e7ef1532460030e5449725116a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 May 2017 00:34:16 -0400 Subject: [PATCH 48/52] fix merge conflict --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 28af9d85e2..45d6445ff8 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.16.0")] +[assembly: AssemblyVersion("3.2.16.3")] From 3b242480e9809b9b2f66b775387a7610f51c5550 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 May 2017 00:36:59 -0400 Subject: [PATCH 49/52] 3.2.17.0 --- Emby.Server.Implementations/Data/SqliteItemRepository.cs | 2 +- SharedVersion.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs index e07425c865..451ec2dfe6 100644 --- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs @@ -142,7 +142,7 @@ namespace Emby.Server.Implementations.Data = "create table if not exists mediastreams (ItemId GUID, StreamIndex INT, StreamType TEXT, Codec TEXT, Language TEXT, ChannelLayout TEXT, Profile TEXT, AspectRatio TEXT, Path TEXT, IsInterlaced BIT, BitRate INT NULL, Channels INT NULL, SampleRate INT NULL, IsDefault BIT, IsForced BIT, IsExternal BIT, Height INT NULL, Width INT NULL, AverageFrameRate FLOAT NULL, RealFrameRate FLOAT NULL, Level FLOAT NULL, PixelFormat TEXT, BitDepth INT NULL, IsAnamorphic BIT NULL, RefFrames INT NULL, CodecTag TEXT NULL, Comment TEXT NULL, NalLengthSize TEXT NULL, IsAvc BIT NULL, Title TEXT NULL, TimeBase TEXT NULL, CodecTimeBase TEXT NULL, PRIMARY KEY (ItemId, StreamIndex))"; string[] queries = { - "PRAGMA locking_mode=EXCLUSIVE", + "PRAGMA locking_mode=NORMAL", "create table if not exists TypedBaseItems (guid GUID primary key NOT NULL, type TEXT NOT NULL, data BLOB NULL, ParentId GUID NULL, Path TEXT NULL)", diff --git a/SharedVersion.cs b/SharedVersion.cs index 45d6445ff8..04dff1c949 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.16.3")] +[assembly: AssemblyVersion("3.2.17.0")] From 7f0b4a5c346dbbf937b2a757e22ed239646c5d7b Mon Sep 17 00:00:00 2001 From: Luke Date: Mon, 15 May 2017 00:55:34 -0400 Subject: [PATCH 50/52] update mac project --- MediaBrowser.Server.Mac/Emby.Server.Mac.csproj | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj index b53d1027f6..3d84a435f3 100644 --- a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj +++ b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj @@ -1030,12 +1030,12 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\itemidentifier\itemidentifier.template.html - - Resources\dashboard-ui\bower_components\emby-webcomponents\lazyloader\lazyloader-intersectionobserver.js - Resources\dashboard-ui\bower_components\emby-webcomponents\lazyloader\lazyedgehack.css + + Resources\dashboard-ui\bower_components\emby-webcomponents\lazyloader\lazyloader-intersectionobserver.js + Resources\dashboard-ui\bower_components\emby-webcomponents\lazyloader\lazyloader-scroll.js @@ -1606,6 +1606,12 @@ Resources\dashboard-ui\bower_components\requirejs\require.js + + Resources\dashboard-ui\bower_components\resize-observer-polyfill\LICENSE + + + Resources\dashboard-ui\bower_components\resize-observer-polyfill\resizeobserver.js + Resources\dashboard-ui\bower_components\vibrant\gulpfile.coffee From c37c9a75073b1b9caa3af2c3bc62abd837bd630e Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 31 May 2017 15:40:15 -0400 Subject: [PATCH 51/52] fix merge conflict --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 04dff1c949..8211b2539e 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.17.0")] +[assembly: AssemblyVersion("3.2.17.20")] From 3aaf68902cb6e63af3486146cd35dfafa54e5316 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 31 May 2017 15:41:54 -0400 Subject: [PATCH 52/52] fix merge conflict --- Emby.Server.Implementations/Data/SqliteItemRepository.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs index 3c4b50edaf..49ba6c9f3c 100644 --- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs @@ -142,7 +142,7 @@ namespace Emby.Server.Implementations.Data = "create table if not exists mediastreams (ItemId GUID, StreamIndex INT, StreamType TEXT, Codec TEXT, Language TEXT, ChannelLayout TEXT, Profile TEXT, AspectRatio TEXT, Path TEXT, IsInterlaced BIT, BitRate INT NULL, Channels INT NULL, SampleRate INT NULL, IsDefault BIT, IsForced BIT, IsExternal BIT, Height INT NULL, Width INT NULL, AverageFrameRate FLOAT NULL, RealFrameRate FLOAT NULL, Level FLOAT NULL, PixelFormat TEXT, BitDepth INT NULL, IsAnamorphic BIT NULL, RefFrames INT NULL, CodecTag TEXT NULL, Comment TEXT NULL, NalLengthSize TEXT NULL, IsAvc BIT NULL, Title TEXT NULL, TimeBase TEXT NULL, CodecTimeBase TEXT NULL, PRIMARY KEY (ItemId, StreamIndex))"; string[] queries = { - "PRAGMA locking_mode=NORMAL", + "PRAGMA locking_mode=EXCLUSIVE", "create table if not exists TypedBaseItems (guid GUID primary key NOT NULL, type TEXT NOT NULL, data BLOB NULL, ParentId GUID NULL, Path TEXT NULL)",