From 90479fff95aa8525483853f5e455988bfac9c53b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Mon, 19 Aug 2024 16:41:43 -0700 Subject: [PATCH] processors(rtvi): add set_client_ready() --- src/pipecat/processors/frameworks/rtvi.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/pipecat/processors/frameworks/rtvi.py b/src/pipecat/processors/frameworks/rtvi.py index dae2e901b..fd49289d2 100644 --- a/src/pipecat/processors/frameworks/rtvi.py +++ b/src/pipecat/processors/frameworks/rtvi.py @@ -275,8 +275,8 @@ class RTVIProcessor(FrameProcessor): self._pipeline: FrameProcessor | None = None self._pipeline_started = False + self._client_ready = False self._client_ready_id = "" - self._client_ready_received = False self._registered_actions: Dict[str, RTVIAction] = {} self._registered_services: Dict[str, RTVIService] = {} @@ -301,6 +301,11 @@ class RTVIProcessor(FrameProcessor): message = RTVIError(data=RTVIErrorData(error=error, fatal=False)) await self._push_transport_message(message) + async def set_client_ready(self): + if not self._client_ready: + self._client_ready = True + await self._maybe_send_bot_ready() + async def handle_function_call( self, function_name: str, @@ -504,7 +509,7 @@ class RTVIProcessor(FrameProcessor): logger.warning(f"Exception processing message: {e}") async def _handle_client_ready(self, request_id: str): - self._client_ready_received = True + self._client_ready = True self._client_ready_id = request_id await self._maybe_send_bot_ready() @@ -576,7 +581,7 @@ class RTVIProcessor(FrameProcessor): await self._push_transport_message(message) async def _maybe_send_bot_ready(self): - if self._pipeline_started and self._client_ready_received: + if self._pipeline_started and self._client_ready_: await self._send_bot_ready() await self._update_config(self._config)