transport(websocket): don't send if serializer returns None

This commit is contained in:
Aleix Conchillo Flaqué
2024-07-01 10:18:20 -07:00
parent df4c3e56c4
commit 06f817c7e3

View File

@@ -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:]