From cfa333508b34adae62a723a2a704d22af1803205 Mon Sep 17 00:00:00 2001 From: Paul Kompfner Date: Wed, 17 Sep 2025 21:03:25 -0400 Subject: [PATCH] Simplify a bit of logic in `ServiceSwitcher` --- src/pipecat/pipeline/service_switcher.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/pipecat/pipeline/service_switcher.py b/src/pipecat/pipeline/service_switcher.py index 64920e0ce..eea55e68d 100644 --- a/src/pipecat/pipeline/service_switcher.py +++ b/src/pipecat/pipeline/service_switcher.py @@ -169,11 +169,4 @@ class ServiceSwitcher(ParallelPipeline, Generic[StrategyType]): service_switcher_filter_frame = ServiceSwitcher.ServiceSwitcherFilterFrame( active_service=self.strategy.active_service ) - # Hack: we need access ParallelPipeline internals here to queue the - # frame in each of the pipelines. - # Why not just call super().process_frame(service_switcher_filter_frame, direction), - # you ask? Because that would also send this internal-only frame - # down the "main" pipeline instead of only down the individual - # branches of the parallel pipeline, which we want to avoid. - for p in self._pipelines: - await p.queue_frame(service_switcher_filter_frame, direction) + await super().process_frame(service_switcher_filter_frame, direction)