From dc56cb2ccc16f5d640dfca9d9f0d61c167b4aa31 Mon Sep 17 00:00:00 2001 From: Paul Kompfner Date: Tue, 24 Mar 2026 15:01:07 -0400 Subject: [PATCH] Gemini Live: reset _bot_is_responding when releasing deferred EndFrame Without this, the released EndFrame re-enters process_frame, sees _bot_is_responding is still True, defers again, and loops indefinitely. --- src/pipecat/services/google/gemini_live/llm.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pipecat/services/google/gemini_live/llm.py b/src/pipecat/services/google/gemini_live/llm.py index 33aaacaa6..e47e99e2f 100644 --- a/src/pipecat/services/google/gemini_live/llm.py +++ b/src/pipecat/services/google/gemini_live/llm.py @@ -1181,6 +1181,7 @@ class GeminiLiveLLMService(LLMService): """Release a deferred EndFrame and cancel the deferral timeout.""" if self._end_frame_pending_bot_turn_finished: self._cancel_end_frame_deferral_timeout() + self._bot_is_responding = False frame = self._end_frame_pending_bot_turn_finished self._end_frame_pending_bot_turn_finished = None await self.queue_frame(frame)