From 06f817c7e3217e9db5b5500090d0c1ebd1fa0a92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Mon, 1 Jul 2024 10:18:20 -0700 Subject: [PATCH] transport(websocket): don't send if serializer returns None --- src/pipecat/transports/network/websocket_server.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pipecat/transports/network/websocket_server.py b/src/pipecat/transports/network/websocket_server.py index d17174eba..fe775ce45 100644 --- a/src/pipecat/transports/network/websocket_server.py +++ b/src/pipecat/transports/network/websocket_server.py @@ -124,6 +124,9 @@ class WebsocketServerOutputTransport(BaseOutputTransport): self._websocket = websocket async def write_raw_audio_frames(self, frames: bytes): + if not self._websocket: + return + self._audio_buffer += frames while len(self._audio_buffer) >= self._params.audio_frame_size: frame = AudioRawFrame( @@ -148,8 +151,8 @@ class WebsocketServerOutputTransport(BaseOutputTransport): frame = wav_frame proto = self._params.serializer.serialize(frame) - - await self._websocket.send(proto) + if proto: + await self._websocket.send(proto) self._audio_buffer = self._audio_buffer[self._params.audio_frame_size:]