From 951f20c788979d62bd2cfd8af910f9d866e269b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Thu, 4 Apr 2024 14:05:15 -0700 Subject: [PATCH] transports: don't write/read if microphone/speaker not enabled --- src/dailyai/transports/daily_transport.py | 3 +-- src/dailyai/transports/local_transport.py | 13 ++++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/dailyai/transports/daily_transport.py b/src/dailyai/transports/daily_transport.py index 506255a94..254b35629 100644 --- a/src/dailyai/transports/daily_transport.py +++ b/src/dailyai/transports/daily_transport.py @@ -120,8 +120,7 @@ class DailyTransport(ThreadedTransport, EventHandler): raise e def _webrtc_vad_analyze(self): - buffer = self.read_audio_frames( - int(self._vad_samples)) + buffer = self.read_audio_frames(int(self._vad_samples)) if len(buffer) > 0: confidence = self.webrtc_vad.analyze_frames(buffer) # yeses = int(confidence * 20.0) diff --git a/src/dailyai/transports/local_transport.py b/src/dailyai/transports/local_transport.py index e79b147a8..cf66345b2 100644 --- a/src/dailyai/transports/local_transport.py +++ b/src/dailyai/transports/local_transport.py @@ -48,13 +48,16 @@ class LocalTransport(ThreadedTransport): ) def write_frame_to_mic(self, frame: bytes): - self._audio_stream.write(frame) + if self._mic_enabled: + self._audio_stream.write(frame) def read_frames(self, desired_frame_count): - bytes = self._speaker_stream.read( - desired_frame_count, - exception_on_overflow=False, - ) + bytes = b"" + if self._speaker_enabled: + bytes = self._speaker_stream.read( + desired_frame_count, + exception_on_overflow=False, + ) return bytes def _prerun(self):