소스 검색

Fix ffmpeg analyze duration env var taking priority over media source

Bill Thornton 2 년 전
부모
커밋
80c68b8948
2개의 변경된 파일9개의 추가작업 그리고 9개의 파일을 삭제
  1. 4 4
      MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
  2. 5 5
      MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs

+ 4 - 4
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -4976,13 +4976,13 @@ namespace MediaBrowser.Controller.MediaEncoding
             // The default value of -probesize is more than enough, so leave it as is.
             var ffmpegAnalyzeDuration = _config.GetFFmpegAnalyzeDuration() ?? string.Empty;
 
-            if (!string.IsNullOrEmpty(ffmpegAnalyzeDuration))
+            if (state.MediaSource.AnalyzeDurationMs > 0)
             {
-                analyzeDurationArgument = "-analyzeduration " + ffmpegAnalyzeDuration;
+                analyzeDurationArgument = "-analyzeduration " + (state.MediaSource.AnalyzeDurationMs.Value * 1000).ToString(CultureInfo.InvariantCulture);
             }
-            else if (state.MediaSource.AnalyzeDurationMs.HasValue)
+            else if (!string.IsNullOrEmpty(ffmpegAnalyzeDuration))
             {
-                analyzeDurationArgument = "-analyzeduration " + (state.MediaSource.AnalyzeDurationMs.Value * 1000).ToString(CultureInfo.InvariantCulture);
+                analyzeDurationArgument = "-analyzeduration " + ffmpegAnalyzeDuration;
             }
 
             if (!string.IsNullOrEmpty(analyzeDurationArgument))

+ 5 - 5
MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs

@@ -376,15 +376,15 @@ namespace MediaBrowser.MediaEncoding.Encoder
             string analyzeDuration = string.Empty;
             string ffmpegAnalyzeDuration = _config.GetFFmpegAnalyzeDuration() ?? string.Empty;
 
-            if (!string.IsNullOrEmpty(ffmpegAnalyzeDuration))
-            {
-                analyzeDuration = "-analyzeduration " + ffmpegAnalyzeDuration;
-            }
-            else if (request.MediaSource.AnalyzeDurationMs > 0)
+            if (request.MediaSource.AnalyzeDurationMs > 0)
             {
                 analyzeDuration = "-analyzeduration " +
                                   (request.MediaSource.AnalyzeDurationMs * 1000).ToString();
             }
+            else if (!string.IsNullOrEmpty(ffmpegAnalyzeDuration))
+            {
+                analyzeDuration = "-analyzeduration " + ffmpegAnalyzeDuration;
+            }
 
             var forceEnableLogging = request.MediaSource.Protocol != MediaProtocol.File;