From 1cac2107656be607a754a420cc10ae92ab4c5beb Mon Sep 17 00:00:00 2001 From: Jason Dove <1695733+jasongdove@users.noreply.github.com> Date: Mon, 11 Aug 2025 15:00:25 +0000 Subject: [PATCH] fix segmenter v2 transitions (#2296) --- ErsatzTV/Controllers/InternalController.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ErsatzTV/Controllers/InternalController.cs b/ErsatzTV/Controllers/InternalController.cs index 68824a11..a252cab0 100644 --- a/ErsatzTV/Controllers/InternalController.cs +++ b/ErsatzTV/Controllers/InternalController.cs @@ -340,12 +340,18 @@ public class InternalController : ControllerBase linkedCts.Token); } - _ = processWithPipe + var task = processWithPipe .WithStandardOutputPipe(PipeTarget.ToStream(pipe.Writer.AsStream())) .WithStandardErrorPipe(PipeTarget.ToStringBuilder(stdErrBuffer)) .WithValidation(CommandResultValidation.None) .ExecuteAsync(linkedCts.Token); + // ensure pipe writer is completed when ffmpeg exits + _ = task.Task.ContinueWith( + (_, state) => ((PipeWriter)state!).Complete(), + pipe.Writer, + TaskScheduler.Default); + var contentType = mode switch { "segmenter-v2" => "video/x-matroska",