소스 검색

Merge pull request #8516 from cvium/kill_ffprobe_when_extraction_crashes

Claus Vium 2 년 전
부모
커밋
6d23de64c0
1개의 변경된 파일21개의 추가작업 그리고 2개의 파일을 삭제
  1. 21 2
      src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs

+ 21 - 2
src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs

@@ -38,9 +38,28 @@ public static class FfProbeKeyframeExtractor
             EnableRaisingEvents = true
         };
 
-        process.Start();
+        try
+        {
+            process.Start();
 
-        return ParseStream(process.StandardOutput);
+            return ParseStream(process.StandardOutput);
+        }
+        catch (Exception)
+        {
+            try
+            {
+                if (!process.HasExited)
+                {
+                    process.Kill();
+                }
+            }
+            catch
+            {
+                // We do not care if this fails
+            }
+
+            throw;
+        }
     }
 
     internal static KeyframeData ParseStream(StreamReader reader)