浏览代码

Backport pull request #8516 from jellyfin/release-10.8.z

fix: kill ffprobe if keyframe parsing fails

Original-merge: 6d23de64c093b83ba5a9c40d79b6362dd508fd62

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
cvium 2 年之前
父节点
当前提交
f6533e4228
共有 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
             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)
     internal static KeyframeData ParseStream(StreamReader reader)