aboutsummaryrefslogtreecommitdiff
path: root/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs
diff options
context:
space:
mode:
authorcvium <clausvium@gmail.com>2022-10-28 22:38:58 -0400
committerJoshua M. Boniface <joshua@boniface.me>2022-10-28 22:38:58 -0400
commitf6533e42287e997fd3ef54f6fc690208f51ce438 (patch)
tree37c1f1611d162aad03db999e847b89df6c238513 /src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs
parent812a4170eee4383b5c1f5cd52cb58cc04d50cb36 (diff)
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>
Diffstat (limited to 'src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs')
-rw-r--r--src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs b/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs
index 79aa8a354..febe9516a 100644
--- a/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs
+++ b/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)