From 67cdc0063a5bd7a7d6da76b24a09b905dce46738 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Thu, 13 Feb 2025 13:17:57 -0800 Subject: [PATCH] BaseTransportOutput: allow pushing frames upstream --- CHANGELOG.md | 3 +++ src/pipecat/transports/base_output.py | 2 ++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 634a740e7..a0dcf9af1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -91,6 +91,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Fixed a `BaseOutputTransport` issue that was causing upstream frames to no be + pushed upstream. + - Fixed multiple issue where user transcriptions where not being handled properly. It was possible for short utterances to not trigger VAD which would cause user transcriptions to be ignored. It was also possible for one or more diff --git a/src/pipecat/transports/base_output.py b/src/pipecat/transports/base_output.py index 6bf4a9ff3..1b6d1e833 100644 --- a/src/pipecat/transports/base_output.py +++ b/src/pipecat/transports/base_output.py @@ -170,6 +170,8 @@ class BaseOutputTransport(FrameProcessor): # TODO(aleix): Images and audio should support presentation timestamps. elif frame.pts: await self._sink_clock_queue.put((frame.pts, frame.id, frame)) + elif direction == FrameDirection.UPSTREAM: + await self.push_frame(frame, direction) else: await self._sink_queue.put(frame)