소스 검색

add tv guide hover menus

Luke Pulverenti 11 년 전
부모
커밋
7d81888038
2개의 변경된 파일16개의 추가작업 그리고 2개의 파일을 삭제
  1. 11 1
      MediaBrowser.Api/Playback/BaseStreamingService.cs
  2. 5 1
      MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs

+ 11 - 1
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -318,7 +318,17 @@ namespace MediaBrowser.Api.Playback
 
 
             if (videoCodec.Equals("libx264", StringComparison.OrdinalIgnoreCase))
             if (videoCodec.Equals("libx264", StringComparison.OrdinalIgnoreCase))
             {
             {
-                return "-preset superfast";
+                switch (GetQualitySetting())
+                {
+                    case EncodingQuality.HighSpeed:
+                        return "-preset ultrafast";
+                    case EncodingQuality.HighQuality:
+                        return "-preset superfast";
+                    case EncodingQuality.MaxQuality:
+                        return "-preset superfast";
+                    default:
+                        throw new Exception("Unrecognized MediaEncodingQuality value.");
+                }
             }
             }
 
 
             if (videoCodec.Equals("mpeg4", StringComparison.OrdinalIgnoreCase))
             if (videoCodec.Equals("mpeg4", StringComparison.OrdinalIgnoreCase))

+ 5 - 1
MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs

@@ -380,6 +380,10 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks
             CurrentProgress = null;
             CurrentProgress = null;
 
 
             OnTaskCompleted(startTime, endTime, status, failureException);
             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>
         /// <summary>
@@ -390,7 +394,7 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks
         /// <returns>Task.</returns>
         /// <returns>Task.</returns>
         private Task ExecuteTask(CancellationToken cancellationToken, IProgress<double> progress)
         private Task ExecuteTask(CancellationToken cancellationToken, IProgress<double> progress)
         {
         {
-            return Task.Run(async () => await ScheduledTask.Execute(cancellationToken, progress).ConfigureAwait(false));
+            return Task.Run(async () => await ScheduledTask.Execute(cancellationToken, progress).ConfigureAwait(false), cancellationToken);
         }
         }
 
 
         /// <summary>
         /// <summary>