Преглед изворни кода

Merge pull request #2124 from MediaBrowser/beta

Beta
Luke пре 8 година
родитељ
комит
d02cedb5b5

+ 0 - 15
MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs

@@ -423,21 +423,6 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks
             CurrentProgress = null;
 
             OnTaskCompleted(startTime, endTime, status, failureException);
-
-            // Bad practice, i know. But we keep a lot in memory, unfortunately.
-            GC.Collect(2, GCCollectionMode.Forced, true);
-            GC.Collect(2, GCCollectionMode.Forced, true);
-        }
-
-        /// <summary>
-        /// Executes the task.
-        /// </summary>
-        /// <param name="cancellationToken">The cancellation token.</param>
-        /// <param name="progress">The progress.</param>
-        /// <returns>Task.</returns>
-        private Task ExecuteTask(CancellationToken cancellationToken, IProgress<double> progress)
-        {
-            return Task.Run(async () => await ScheduledTask.Execute(cancellationToken, progress).ConfigureAwait(false), cancellationToken);
         }
 
         /// <summary>

+ 0 - 2
MediaBrowser.Model/Configuration/ServerConfiguration.cs

@@ -176,7 +176,6 @@ namespace MediaBrowser.Model.Configuration
         public string UICulture { get; set; }
 
         public PeopleMetadataOptions PeopleMetadataOptions { get; set; }
-        public bool FindInternetTrailers { get; set; }
 
         public bool SaveMetadataHidden { get; set; }
 
@@ -243,7 +242,6 @@ namespace MediaBrowser.Model.Configuration
             LibraryMonitorDelay = 60;
 
             EnableInternetProviders = true;
-            FindInternetTrailers = true;
 
             PathSubstitutions = new PathSubstitution[] { };
             ContentTypes = new NameValuePair[] { };

+ 0 - 15
MediaBrowser.Providers/Manager/MetadataService.cs

@@ -647,8 +647,6 @@ namespace MediaBrowser.Providers.Manager
 
                     if (result.HasMetadata)
                     {
-                        NormalizeRemoteResult(result.Item);
-
                         MergeData(result, temp, new List<MetadataFields>(), false, false);
 
                         refreshResult.UpdateType = refreshResult.UpdateType | ItemUpdateType.MetadataDownload;
@@ -673,19 +671,6 @@ namespace MediaBrowser.Providers.Manager
             return refreshResult;
         }
 
-        private void NormalizeRemoteResult(TItemType item)
-        {
-            if (!ServerConfigurationManager.Configuration.FindInternetTrailers)
-            {
-                var hasTrailers = item as IHasTrailers;
-
-                if (hasTrailers != null)
-                {
-                    hasTrailers.RemoteTrailers.Clear();
-                }
-            }
-        }
-
         private void MergeNewData(TItemType source, TIdType lookupInfo)
         {
             // Copy new provider id's that may have been obtained

+ 25 - 13
MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationNotifier.cs

@@ -1,14 +1,11 @@
-using MediaBrowser.Controller.FileOrganization;
+using MediaBrowser.Common.ScheduledTasks;
+using MediaBrowser.Controller.FileOrganization;
 using MediaBrowser.Controller.Plugins;
-using MediaBrowser.Model.Logging;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using MediaBrowser.Controller.Session;
 using MediaBrowser.Model.Events;
 using MediaBrowser.Model.FileOrganization;
-using MediaBrowser.Controller.Session;
+using MediaBrowser.Model.Logging;
+using System;
 using System.Threading;
 
 namespace MediaBrowser.Server.Implementations.FileOrganization
@@ -20,11 +17,13 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
     {
         private readonly IFileOrganizationService _organizationService;
         private readonly ISessionManager _sessionManager;
+        private readonly ITaskManager _taskManager;
 
-        public FileOrganizationNotifier(ILogger logger, IFileOrganizationService organizationService, ISessionManager sessionManager)
+        public FileOrganizationNotifier(ILogger logger, IFileOrganizationService organizationService, ISessionManager sessionManager, ITaskManager taskManager)
         {
             _organizationService = organizationService;
             _sessionManager = sessionManager;
+            _taskManager = taskManager;
         }
 
         public void Run()
@@ -33,34 +32,47 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
             _organizationService.ItemRemoved += _organizationService_ItemRemoved;
             _organizationService.ItemUpdated += _organizationService_ItemUpdated;
             _organizationService.LogReset += _organizationService_LogReset;
+
+            //_taskManager.TaskCompleted += _taskManager_TaskCompleted;
         }
 
         private void _organizationService_LogReset(object sender, EventArgs e)
         {
-            _sessionManager.SendMessageToAdminSessions("AutoOrganizeUpdate", (FileOrganizationResult)null, CancellationToken.None);
+            _sessionManager.SendMessageToAdminSessions("AutoOrganize_LogReset", (FileOrganizationResult)null, CancellationToken.None);
         }
 
         private void _organizationService_ItemUpdated(object sender, GenericEventArgs<FileOrganizationResult> e)
         {
-            _sessionManager.SendMessageToAdminSessions("AutoOrganizeUpdate", e.Argument, CancellationToken.None);
+            _sessionManager.SendMessageToAdminSessions("AutoOrganize_ItemUpdated", e.Argument, CancellationToken.None);
         }
 
         private void _organizationService_ItemRemoved(object sender, GenericEventArgs<FileOrganizationResult> e)
         {
-            _sessionManager.SendMessageToAdminSessions("AutoOrganizeUpdate", (FileOrganizationResult)null, CancellationToken.None);
+            _sessionManager.SendMessageToAdminSessions("AutoOrganize_ItemRemoved", e.Argument, CancellationToken.None);
         }
 
         private void _organizationService_ItemAdded(object sender, GenericEventArgs<FileOrganizationResult> e)
         {
-            _sessionManager.SendMessageToAdminSessions("AutoOrganizeUpdate", (FileOrganizationResult)null, CancellationToken.None);
+            _sessionManager.SendMessageToAdminSessions("AutoOrganize_ItemAdded", e.Argument, CancellationToken.None);
         }
 
+        //private void _taskManager_TaskCompleted(object sender, TaskCompletionEventArgs e)
+        //{
+        //    var taskWithKey = e.Task.ScheduledTask as IHasKey;
+        //    if (taskWithKey != null && taskWithKey.Key == "AutoOrganize")
+        //    {
+        //        _sessionManager.SendMessageToAdminSessions("AutoOrganize_TaskCompleted", (FileOrganizationResult)null, CancellationToken.None);
+        //    }
+        //}
+
         public void Dispose()
         {
             _organizationService.ItemAdded -= _organizationService_ItemAdded;
             _organizationService.ItemRemoved -= _organizationService_ItemRemoved;
             _organizationService.ItemUpdated -= _organizationService_ItemUpdated;
             _organizationService.LogReset -= _organizationService_LogReset;
+
+            //_taskManager.TaskCompleted -= _taskManager_TaskCompleted;
         }
 
 

+ 6 - 3
MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs

@@ -216,7 +216,8 @@ namespace MediaBrowser.Server.Implementations.Intros
             }
 
             return allIntros
-                .Where(i => IsMatch(i.Path, codec));
+                .Where(i => IsMatch(i.Path, codec))
+                .OrderBy(i => Guid.NewGuid());
         }
 
         private IEnumerable<IntroInfo> GetMediaInfoIntrosByAudioStream(List<IntroInfo> allIntros, MediaStream stream)
@@ -229,13 +230,15 @@ namespace MediaBrowser.Server.Implementations.Intros
             }
 
             return allIntros
-                .Where(i => IsAudioMatch(i.Path, stream));
+                .Where(i => IsAudioMatch(i.Path, stream))
+                .OrderBy(i => Guid.NewGuid());
         }
 
         private IEnumerable<IntroInfo> GetMediaInfoIntrosByTags(List<IntroInfo> allIntros, List<string> tags)
         {
             return allIntros
-                .Where(i => tags.Any(t => IsMatch(i.Path, t)));
+                .Where(i => tags.Any(t => IsMatch(i.Path, t)))
+                .OrderBy(i => Guid.NewGuid());
         }
 
         private bool IsMatch(string file, string attribute)

+ 0 - 4
MediaBrowser.Server.Implementations/Library/LibraryManager.cs

@@ -1088,10 +1088,6 @@ namespace MediaBrowser.Server.Implementations.Library
             await RunPostScanTasks(innerProgress, cancellationToken).ConfigureAwait(false);
 
             progress.Report(100);
-
-            // Bad practice, i know. But we keep a lot in memory, unfortunately.
-            GC.Collect(2, GCCollectionMode.Forced, true);
-            GC.Collect(2, GCCollectionMode.Forced, true);
         }
 
         /// <summary>

+ 0 - 4
MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs

@@ -165,10 +165,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
             progress.Report(100);
 
             _logger.Info("People validation complete");
-
-            // Bad practice, i know. But we keep a lot in memory, unfortunately.
-            GC.Collect(2, GCCollectionMode.Forced, true);
-            GC.Collect(2, GCCollectionMode.Forced, true);
         }
     }
 }

+ 4 - 0
MediaBrowser.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs

@@ -55,6 +55,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
                 {
                     name += " " + info.OriginalAirDate.Value.ToString("yyyy-MM-dd");
                 }
+                else
+                {
+                    name += " " + DateTime.Now.ToString("yyyy-MM-dd");
+                }
 
                 if (!string.IsNullOrWhiteSpace(info.EpisodeTitle))
                 {

+ 13 - 13
MediaBrowser.Server.Implementations/LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs

@@ -284,19 +284,19 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
                     var capabilitiesElement = deviceElement.Element(n1 + "X_SATIPCAP");
                         if (capabilitiesElement != null)
                         {
-                            _capabilities = capabilitiesElement.Value;
-                            if (capabilitiesElement.Value.Contains(','))
-                            {
-                                string[] capabilities = capabilitiesElement.Value.Split(',');
-                                foreach (var capability in capabilities)
-                                {
-                                    ReadCapability(capability);
-                                }
-                            }
-                            else
-                            {
-                                ReadCapability(capabilitiesElement.Value);
-                            }
+                            //_capabilities = capabilitiesElement.Value;
+                            //if (capabilitiesElement.Value.Contains(','))
+                            //{
+                            //    string[] capabilities = capabilitiesElement.Value.Split(',');
+                            //    foreach (var capability in capabilities)
+                            //    {
+                            //        ReadCapability(capability);
+                            //    }
+                            //}
+                            //else
+                            //{
+                            //    ReadCapability(capabilitiesElement.Value);
+                            //}
                         }
                         else
                         {

+ 8 - 1
MediaBrowser.Server.Implementations/MediaEncoder/EncodingManager.cs

@@ -123,10 +123,17 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder
                 {
                     if (extractImages)
                     {
-                        if (video.VideoType == VideoType.HdDvd || video.VideoType == VideoType.Iso || video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd)
+                        if (video.VideoType == VideoType.HdDvd || video.VideoType == VideoType.Iso)
                         {
                             continue;
                         }
+                        if (video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd)
+                        {
+                            if (video.PlayableStreamFileNames.Count != 1)
+                            {
+                                continue;
+                            }
+                        }
 
                         // Add some time for the first chapter to make sure we don't end up with a black image
                         var time = chapter.StartPositionTicks == 0 ? TimeSpan.FromTicks(Math.Min(FirstChapterTicks, video.RunTimeTicks ?? 0)) : TimeSpan.FromTicks(chapter.StartPositionTicks);

+ 1 - 2
MediaBrowser.Server.Startup.Common/ApplicationHost.cs

@@ -385,8 +385,7 @@ namespace MediaBrowser.Server.Startup.Common
                 new OmdbEpisodeProviderMigration(ServerConfigurationManager),
                 new MovieDbEpisodeProviderMigration(ServerConfigurationManager),
                 new DbMigration(ServerConfigurationManager, TaskManager),
-                new UpdateLevelMigration(ServerConfigurationManager, this, HttpClient, JsonSerializer, _releaseAssetFilename),
-                new CollectionsViewMigration(ServerConfigurationManager, UserManager)
+                new UpdateLevelMigration(ServerConfigurationManager, this, HttpClient, JsonSerializer, _releaseAssetFilename)
             };
 
             foreach (var task in migrations)

+ 0 - 1
MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj

@@ -70,7 +70,6 @@
     <Compile Include="FFMpeg\FFMpegInfo.cs" />
     <Compile Include="INativeApp.cs" />
     <Compile Include="MbLinkShortcutHandler.cs" />
-    <Compile Include="Migrations\CollectionsViewMigration.cs" />
     <Compile Include="Migrations\IVersionMigration.cs" />
     <Compile Include="Migrations\DbMigration.cs" />
     <Compile Include="Migrations\MovieDbEpisodeProviderMigration.cs" />

+ 0 - 40
MediaBrowser.Server.Startup.Common/Migrations/CollectionsViewMigration.cs

@@ -1,40 +0,0 @@
-using System.Linq;
-using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.Library;
-
-namespace MediaBrowser.Server.Startup.Common.Migrations
-{
-    public class CollectionsViewMigration : IVersionMigration
-    {
-        private readonly IServerConfigurationManager _config;
-        private readonly IUserManager _userManager;
-
-        public CollectionsViewMigration(IServerConfigurationManager config, IUserManager userManager)
-        {
-            _config = config;
-            _userManager = userManager;
-        }
-
-        public void Run()
-        {
-            var migrationKey = this.GetType().Name;
-            var migrationKeyList = _config.Configuration.Migrations.ToList();
-
-            if (!migrationKeyList.Contains(migrationKey))
-            {
-                if (_config.Configuration.IsStartupWizardCompleted)
-                {
-                    if (_userManager.Users.Any(i => i.Configuration.DisplayCollectionsView))
-                    {
-                        _config.Configuration.DisplayCollectionsView = true;
-                    }
-                }
-
-                migrationKeyList.Add(migrationKey);
-                _config.Configuration.Migrations = migrationKeyList.ToArray();
-                _config.SaveConfiguration();
-            }
-
-        }
-    }
-}

+ 11 - 7
MediaBrowser.XbmcMetadata/Savers/EpisodeNfoSaver.cs

@@ -72,19 +72,23 @@ namespace MediaBrowser.XbmcMetadata.Savers
             {
                 writer.WriteElementString("airsbefore_episode", episode.AirsBeforeEpisodeNumber.Value.ToString(UsCulture));
             }
-            if (episode.AirsBeforeEpisodeNumber.HasValue && episode.AirsBeforeEpisodeNumber.Value != -1)
-            {
-                writer.WriteElementString("displayepisode", episode.AirsBeforeEpisodeNumber.Value.ToString(UsCulture));
-            }
             if (episode.AirsBeforeSeasonNumber.HasValue && episode.AirsBeforeSeasonNumber.Value != -1)
             {
                 writer.WriteElementString("airsbefore_season", episode.AirsBeforeSeasonNumber.Value.ToString(UsCulture));
             }
 
-            var season = episode.AiredSeasonNumber;
-            if (season.HasValue && season.Value != -1)
+            if (episode.ParentIndexNumber.HasValue && episode.ParentIndexNumber.Value == 0)
             {
-                writer.WriteElementString("displayseason", season.Value.ToString(UsCulture));
+                if (episode.AirsBeforeEpisodeNumber.HasValue && episode.AirsBeforeEpisodeNumber.Value != -1)
+                {
+                    writer.WriteElementString("displayepisode", episode.AirsBeforeEpisodeNumber.Value.ToString(UsCulture));
+                }
+
+                var specialSeason = episode.AiredSeasonNumber;
+                if (specialSeason.HasValue && specialSeason.Value != -1)
+                {
+                    writer.WriteElementString("displayseason", specialSeason.Value.ToString(UsCulture));
+                }
             }
 
             if (episode.DvdEpisodeNumber.HasValue)

+ 2 - 2
Nuget/MediaBrowser.Common.Internal.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Common.Internal</id>
-        <version>3.0.655</version>
+        <version>3.0.656</version>
         <title>MediaBrowser.Common.Internal</title>
         <authors>Luke</authors>
         <owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
         <description>Contains common components shared by Emby Theater and Emby Server. Not intended for plugin developer consumption.</description>
         <copyright>Copyright © Emby 2013</copyright>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.655" />
+            <dependency id="MediaBrowser.Common" version="3.0.656" />
             <dependency id="NLog" version="4.3.6" />
             <dependency id="SimpleInjector" version="3.2.0" />
         </dependencies>

+ 1 - 1
Nuget/MediaBrowser.Common.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Common</id>
-        <version>3.0.655</version>
+        <version>3.0.656</version>
         <title>MediaBrowser.Common</title>
         <authors>Emby Team</authors>
         <owners>ebr,Luke,scottisafool</owners>

+ 2 - 2
Nuget/MediaBrowser.Server.Core.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Server.Core</id>
-        <version>3.0.655</version>
+        <version>3.0.656</version>
         <title>Media Browser.Server.Core</title>
         <authors>Emby Team</authors>
         <owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
         <description>Contains core components required to build plugins for Emby Server.</description>
         <copyright>Copyright © Emby 2013</copyright>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.655" />
+            <dependency id="MediaBrowser.Common" version="3.0.656" />
 			<dependency id="Interfaces.IO" version="1.0.0.5" />
         </dependencies>
     </metadata>

+ 1 - 1
SharedVersion.cs

@@ -1,4 +1,4 @@
 using System.Reflection;
 
 //[assembly: AssemblyVersion("3.1.*")]
-[assembly: AssemblyVersion("3.0.6300")]
+[assembly: AssemblyVersion("3.1.128")]