diff --git a/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs b/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs index 1021d8823..3274231ee 100644 --- a/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs +++ b/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs @@ -122,43 +122,55 @@ namespace MediaBrowser.Server.Implementations.EntryPoints var identifier = string.IsNullOrWhiteSpace(usn) ? nt : usn; - if (info.Location != null && !_usnsHandled.Contains(identifier)) + if (info.Location == null) { - _usnsHandled.Add(identifier); + return; + } - _logger.Debug("Calling Nat.Handle on " + identifier); - - IPAddress address; - if (IPAddress.TryParse(info.Location.Host, out address)) + lock (_usnsHandled) + { + if (_usnsHandled.Contains(identifier)) { - // The Handle method doesn't need the port - var endpoint = new IPEndPoint(address, info.Location.Port); + return; + } + _usnsHandled.Add(identifier); + } - IPAddress localAddress = null; + _logger.Debug("Calling Nat.Handle on " + identifier); - try - { - var localAddressString = await _appHost.GetLocalApiUrl().ConfigureAwait(false); + IPAddress address; + if (IPAddress.TryParse(info.Location.Host, out address)) + { + // The Handle method doesn't need the port + var endpoint = new IPEndPoint(address, info.Location.Port); - if (!IPAddress.TryParse(localAddressString, out localAddress)) - { - return; - } - } - catch + IPAddress localAddress = null; + + try + { + var localAddressString = await _appHost.GetLocalApiUrl().ConfigureAwait(false); + + if (!IPAddress.TryParse(localAddressString, out localAddress)) { return; } - - NatUtility.Handle(localAddress, info, endpoint, NatProtocol.Upnp); } + catch + { + return; + } + + NatUtility.Handle(localAddress, info, endpoint, NatProtocol.Upnp); } } private void ClearCreatedRules(object state) { _createdRules = new List(); - _usnsHandled = new List(); + lock (_usnsHandled) + { + _usnsHandled.Clear(); + } } void NatUtility_UnhandledException(object sender, UnhandledExceptionEventArgs e) diff --git a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index 86d77982c..2e58c6b30 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -741,7 +741,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV { PostPaddingSeconds = Math.Max(config.PostPaddingSeconds, 0), PrePaddingSeconds = Math.Max(config.PrePaddingSeconds, 0), - RecordAnyChannel = true, + RecordAnyChannel = false, RecordAnyTime = true, RecordNewOnly = true, diff --git a/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs b/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs index c07c448db..38eb9bdd1 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs @@ -114,8 +114,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts channel.ImageUrl = FindProperty("tvg-logo", extInf, null); channel.Number = FindProperty("channel-id", extInf, channel.Number); channel.Number = FindProperty("tvg-id", extInf, channel.Number); - channel.Name = FindProperty("tvg-name", extInf, channel.Name); channel.Name = FindProperty("tvg-id", extInf, channel.Name); + channel.Name = FindProperty("tvg-name", extInf, channel.Name); return channel; } diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj index b57416fab..1d49a31c9 100644 --- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj +++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj @@ -515,9 +515,6 @@ PreserveNewest - - PreserveNewest - PreserveNewest