Browse Source

Merge pull request #2483 from MediaBrowser/dev

Dev
Luke 8 years ago
parent
commit
8a8bf99550

+ 18 - 8
Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs

@@ -187,7 +187,10 @@ namespace Emby.Server.Core.EntryPoints
 
 
         private void ClearCreatedRules(object state)
         private void ClearCreatedRules(object state)
         {
         {
-            _createdRules = new List<string>();
+            lock (_createdRules)
+            {
+                _createdRules.Clear();
+            }
             lock (_usnsHandled)
             lock (_usnsHandled)
             {
             {
                 _usnsHandled.Clear();
                 _usnsHandled.Clear();
@@ -236,16 +239,23 @@ namespace Emby.Server.Core.EntryPoints
 
 
             var address = device.LocalAddress.ToString();
             var address = device.LocalAddress.ToString();
 
 
-            if (!_createdRules.Contains(address))
+            lock (_createdRules)
             {
             {
-                _createdRules.Add(address);
-
-                var success = await CreatePortMap(device, _appHost.HttpPort, _config.Configuration.PublicPort).ConfigureAwait(false);
-
-                if (success)
+                if (!_createdRules.Contains(address))
                 {
                 {
-                    await CreatePortMap(device, _appHost.HttpsPort, _config.Configuration.PublicHttpsPort).ConfigureAwait(false);
+                    _createdRules.Add(address);
                 }
                 }
+                else
+                {
+                    return;
+                }
+            }
+
+            var success = await CreatePortMap(device, _appHost.HttpPort, _config.Configuration.PublicPort).ConfigureAwait(false);
+
+            if (success)
+            {
+                await CreatePortMap(device, _appHost.HttpsPort, _config.Configuration.PublicHttpsPort).ConfigureAwait(false);
             }
             }
         }
         }
 
 

+ 5 - 1
Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs

@@ -67,7 +67,11 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
 
 
         private bool CopySubtitles
         private bool CopySubtitles
         {
         {
-            get { return string.Equals(OutputFormat, "mkv", StringComparison.OrdinalIgnoreCase); }
+            get
+            {
+                return false;
+                //return string.Equals(OutputFormat, "mkv", StringComparison.OrdinalIgnoreCase);
+            }
         }
         }
 
 
         public string GetOutputPath(MediaSourceInfo mediaSource, string targetFile)
         public string GetOutputPath(MediaSourceInfo mediaSource, string targetFile)

+ 9 - 4
Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs

@@ -298,15 +298,20 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
 
 
         private string GetTunerChannelId(Dictionary<string, string> attributes)
         private string GetTunerChannelId(Dictionary<string, string> attributes)
         {
         {
+            var values = new List<string>();
+
             string result;
             string result;
-            attributes.TryGetValue("tvg-id", out result);
+            if (attributes.TryGetValue("tvg-id", out result))
+            {
+                values.Add(result);
+            }
 
 
-            if (string.IsNullOrWhiteSpace(result))
+            if (attributes.TryGetValue("channel-id", out result))
             {
             {
-                attributes.TryGetValue("channel-id", out result);
+                values.Add(result);
             }
             }
 
 
-            return result;
+            return values.Count == 0 ? null : string.Join("-", values.ToArray());
         }
         }
 
 
         private Dictionary<string, string> ParseExtInf(string line, out string remaining)
         private Dictionary<string, string> ParseExtInf(string line, out string remaining)

+ 1 - 0
MediaBrowser.Model/Configuration/LibraryOptions.cs

@@ -14,6 +14,7 @@
         public bool EnableInternetProviders { get; set; }
         public bool EnableInternetProviders { get; set; }
         public bool ImportMissingEpisodes { get; set; }
         public bool ImportMissingEpisodes { get; set; }
         public bool EnableAutomaticSeriesGrouping { get; set; }
         public bool EnableAutomaticSeriesGrouping { get; set; }
+        public bool EnableEmbeddedTitles { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// Gets or sets the preferred metadata language.
         /// Gets or sets the preferred metadata language.

+ 9 - 12
MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs

@@ -195,8 +195,9 @@ namespace MediaBrowser.Providers.MediaInfo
             }
             }
 
 
             await AddExternalSubtitles(video, mediaStreams, options, cancellationToken).ConfigureAwait(false);
             await AddExternalSubtitles(video, mediaStreams, options, cancellationToken).ConfigureAwait(false);
+            var libraryOptions = _libraryManager.GetLibraryOptions(video);
 
 
-            FetchEmbeddedInfo(video, mediaInfo, options);
+            FetchEmbeddedInfo(video, mediaInfo, options, libraryOptions);
             await FetchPeople(video, mediaInfo, options).ConfigureAwait(false);
             await FetchPeople(video, mediaInfo, options).ConfigureAwait(false);
 
 
             video.IsHD = mediaStreams.Any(i => i.Type == MediaStreamType.Video && i.Width.HasValue && i.Width.Value >= 1260);
             video.IsHD = mediaStreams.Any(i => i.Type == MediaStreamType.Video && i.Width.HasValue && i.Width.Value >= 1260);
@@ -222,7 +223,6 @@ namespace MediaBrowser.Providers.MediaInfo
 
 
                 NormalizeChapterNames(chapters);
                 NormalizeChapterNames(chapters);
 
 
-                var libraryOptions = _libraryManager.GetLibraryOptions(video);
                 var extractDuringScan = false;
                 var extractDuringScan = false;
                 if (libraryOptions != null)
                 if (libraryOptions != null)
                 {
                 {
@@ -344,9 +344,9 @@ namespace MediaBrowser.Providers.MediaInfo
             }
             }
         }
         }
 
 
-        private void FetchEmbeddedInfo(Video video, Model.MediaInfo.MediaInfo data, MetadataRefreshOptions options)
+        private void FetchEmbeddedInfo(Video video, Model.MediaInfo.MediaInfo data, MetadataRefreshOptions refreshOptions, LibraryOptions libraryOptions)
         {
         {
-            var isFullRefresh = options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh;
+            var isFullRefresh = refreshOptions.MetadataRefreshMode == MetadataRefreshMode.FullRefresh;
 
 
             if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.OfficialRating))
             if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.OfficialRating))
             {
             {
@@ -418,15 +418,12 @@ namespace MediaBrowser.Providers.MediaInfo
 
 
             if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.Name))
             if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.Name))
             {
             {
-                if (!string.IsNullOrWhiteSpace(data.Name))
+                if (!string.IsNullOrWhiteSpace(data.Name) && libraryOptions.EnableEmbeddedTitles)
                 {
                 {
-                    if (string.IsNullOrWhiteSpace(video.Name) || (string.Equals(video.Name, Path.GetFileNameWithoutExtension(video.Path), StringComparison.OrdinalIgnoreCase) && !video.ProviderIds.Any()))
+                    // Don't use the embedded name for extras because it will often be the same name as the movie
+                    if (!video.ExtraType.HasValue && !video.IsOwnedItem)
                     {
                     {
-                        // Don't use the embedded name for extras because it will often be the same name as the movie
-                        if (!video.ExtraType.HasValue && !video.IsOwnedItem)
-                        {
-                            video.Name = data.Name;
-                        }
+                        video.Name = data.Name;
                     }
                     }
                 }
                 }
             }
             }
@@ -481,7 +478,7 @@ namespace MediaBrowser.Providers.MediaInfo
         /// </summary>
         /// </summary>
         /// <param name="video">The video.</param>
         /// <param name="video">The video.</param>
         /// <param name="currentStreams">The current streams.</param>
         /// <param name="currentStreams">The current streams.</param>
-        /// <param name="options">The options.</param>
+        /// <param name="options">The refreshOptions.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns>Task.</returns>
         /// <returns>Task.</returns>
         private async Task AddExternalSubtitles(Video video,
         private async Task AddExternalSubtitles(Video video,

+ 1 - 1
SharedVersion.cs

@@ -1,3 +1,3 @@
 using System.Reflection;
 using System.Reflection;
 
 
-[assembly: AssemblyVersion("3.2.1.114")]
+[assembly: AssemblyVersion("3.2.1.115")]