From 14a365aa16eb0bb512d5326824a0607e4b79d959 Mon Sep 17 00:00:00 2001 From: shreyas-sarvam Date: Thu, 30 Oct 2025 17:54:32 +0530 Subject: [PATCH] fix: Use message handler to handle responses --- src/pipecat/services/sarvam/stt.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/pipecat/services/sarvam/stt.py b/src/pipecat/services/sarvam/stt.py index 27b2106a3..c317d53e9 100644 --- a/src/pipecat/services/sarvam/stt.py +++ b/src/pipecat/services/sarvam/stt.py @@ -225,6 +225,18 @@ class SarvamSTTService(STTService): # Enter the async context manager self._socket_client = await self._websocket_context.__aenter__() + # Register event handler for incoming messages + def _message_handler(message): + """Wrapper to handle async response handler.""" + try: + loop = asyncio.get_running_loop() + loop.create_task(self._handle_response(message)) + except RuntimeError: + # Fallback if no running loop + asyncio.create_task(self._handle_response(message)) + + self._socket_client.on(EventType.MESSAGE, _message_handler) + # Start listening for messages self._listening_task = asyncio.create_task(self._socket_client.start_listening())