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:
@@ -1181,6 +1181,7 @@ class GeminiLiveLLMService(LLMService):
|
|||||||
"""Release a deferred EndFrame and cancel the deferral timeout."""
|
"""Release a deferred EndFrame and cancel the deferral timeout."""
|
||||||
if self._end_frame_pending_bot_turn_finished:
|
if self._end_frame_pending_bot_turn_finished:
|
||||||
self._cancel_end_frame_deferral_timeout()
|
self._cancel_end_frame_deferral_timeout()
|
||||||
|
self._bot_is_responding = False
|
||||||
frame = self._end_frame_pending_bot_turn_finished
|
frame = self._end_frame_pending_bot_turn_finished
|
||||||
self._end_frame_pending_bot_turn_finished = None
|
self._end_frame_pending_bot_turn_finished = None
|
||||||
await self.queue_frame(frame)
|
await self.queue_frame(frame)
|
||||||
|
|||||||
Reference in New Issue
Block a user