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.
This commit is contained in:
Paul Kompfner
2026-03-24 15:01:07 -04:00
parent 063955b7eb
commit dc56cb2ccc

View File

@@ -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)