Sfoglia il codice sorgente

Enable Throttling when transcoding without Hardware-Acceleration

Maximilian Marschall 5 anni fa
parent
commit
081d942d03
2 ha cambiato i file con 13 aggiunte e 0 eliminazioni
  1. 1 0
      CONTRIBUTORS.md
  2. 12 0
      MediaBrowser.Api/Playback/BaseStreamingService.cs

+ 1 - 0
CONTRIBUTORS.md

@@ -32,6 +32,7 @@
  - [nevado](https://github.com/nevado)
  - [mark-monteiro](https://github.com/mark-monteiro)
  - [ullmie02](https://github.com/ullmie02)
+ - [geilername](https://github.com/geilername)
 
 # Emby Contributors
 

+ 12 - 0
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -327,6 +327,18 @@ namespace MediaBrowser.Api.Playback
 
         private bool EnableThrottling(StreamState state)
         {
+            var encodingOptions = ServerConfigurationManager.GetEncodingOptions();
+
+            // enable throttling when not using hardware acceleration
+            if (encodingOptions.HardwareAccelerationType == string.Empty)
+            {
+                return state.InputProtocol == MediaProtocol.File &&
+                       state.RunTimeTicks.HasValue &&
+                       state.RunTimeTicks.Value >= TimeSpan.FromMinutes(5).Ticks &&
+                       state.IsInputVideo &&
+                       state.VideoType == VideoType.VideoFile &&
+                       !string.Equals(state.OutputVideoCodec, "copy", StringComparison.OrdinalIgnoreCase);
+            }
             return false;
             //// do not use throttling with hardware encoders
             //return state.InputProtocol == MediaProtocol.File &&