From e93b0ace0662e5839ccd5f4ec1bb1ec224bf80db Mon Sep 17 00:00:00 2001 From: Paul Kompfner Date: Mon, 23 Mar 2026 10:00:32 -0400 Subject: [PATCH] Remove an unnecessary check in `SyncParallelPipeline` --- src/pipecat/pipeline/sync_parallel_pipeline.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pipecat/pipeline/sync_parallel_pipeline.py b/src/pipecat/pipeline/sync_parallel_pipeline.py index 148d29b25..4463b8a22 100644 --- a/src/pipecat/pipeline/sync_parallel_pipeline.py +++ b/src/pipecat/pipeline/sync_parallel_pipeline.py @@ -263,11 +263,11 @@ class SyncParallelPipeline(BasePipeline): """ await super().process_frame(frame, direction) - # SystemFrames (but not EndFrame) are simply passed through all - # internal pipelines without draining queued output. This avoids - # the race condition where a SystemFrame's wait_for_sync steals - # frames from a concurrent non-SystemFrame's wait_for_sync. - if isinstance(frame, SystemFrame) and not isinstance(frame, EndFrame): + # SystemFrames are simply passed through all internal pipelines without + # draining queued output. This avoids the race condition where a + # SystemFrame's wait_for_sync steals frames from a concurrent + # non-SystemFrame's wait_for_sync. + if isinstance(frame, SystemFrame): if direction == FrameDirection.UPSTREAM: for s in self._sinks: await s["processor"].process_frame(frame, direction)