From 45c4726e1ecc0032a6115abdfd73b630be950941 Mon Sep 17 00:00:00 2001 From: Daniil Gusev Date: Mon, 26 Jan 2026 12:27:37 +0100 Subject: [PATCH 1/2] Remove warnings from audio_track - Removed "scheduled sleep took ..." warning. It doesn't belong there, and built-in asyncio debug mode is better suited for this - Reduce the severity of "Audio buffer overflow" warning. It spams the logs too much. --- getstream/video/rtc/audio_track.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/getstream/video/rtc/audio_track.py b/getstream/video/rtc/audio_track.py index a49797d3..c191ad18 100644 --- a/getstream/video/rtc/audio_track.py +++ b/getstream/video/rtc/audio_track.py @@ -118,8 +118,7 @@ async def write(self, pcm: PcmData): / (self.sample_rate * self.channels * self._bytes_per_sample) ) * 1000 - # TODO: do not perform logging inside critical section, move this code outside the lock - logger.warning( + logger.debug( "Audio buffer overflow, dropping %.1fms of audio. Buffer max is %dms", dropped_ms, self.audio_buffer_size_ms, @@ -170,7 +169,6 @@ async def recv(self) -> Frame: # Calculate samples needed for 20ms frame samples_per_frame = int(aiortc.mediastreams.AUDIO_PTIME * self.sample_rate) - wakeup_time = 0 # Initialize timestamp if not already done if self._timestamp is None: @@ -185,12 +183,7 @@ async def recv(self) -> Frame: start_ts = self._start or time.time() wait = start_ts + (self._timestamp / self.sample_rate) - time.time() if wait > 0: - wakeup_time += time.time() + wait await asyncio.sleep(wait) - if time.time() - wakeup_time > 0.1: - logger.warning( - f"scheduled sleep took {time.time() - wakeup_time} instead of {wait}, this can happen if there is something blocking the main event-loop, you can enable --debug mode to see blocking traces" - ) self._last_frame_time = time.time() From 15761787a3c4917c1c4123948497f47181139625 Mon Sep 17 00:00:00 2001 From: Daniil Gusev Date: Mon, 26 Jan 2026 17:50:26 +0100 Subject: [PATCH 2/2] NetworkMonitor: fix CancelledError propagation --- getstream/video/rtc/network_monitor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/getstream/video/rtc/network_monitor.py b/getstream/video/rtc/network_monitor.py index ab89294f..eef7b718 100644 --- a/getstream/video/rtc/network_monitor.py +++ b/getstream/video/rtc/network_monitor.py @@ -87,7 +87,7 @@ async def _monitor_loop(self): await asyncio.sleep(self.check_interval) except asyncio.CancelledError: self.logger.debug("Network monitoring loop cancelled") - break + raise except Exception as e: self.logger.error( "Error in network monitoring",