Skip to content

Commit 9e98632

Browse files
authored
fix wait_for_playout finishing too early (#270)
1 parent 6f322fe commit 9e98632

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

livekit-rtc/livekit/rtc/audio_source.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ def __init__(
6767
self._info = resp.new_audio_source.source
6868
self._ffi_handle = FfiHandle(self._info.handle.id)
6969

70-
self._last_capture = self._q_size = 0.0
70+
self._last_capture = 0.0
71+
self._q_size = 0.0
7172
self._join_handle: asyncio.TimerHandle | None = None
7273
self._join_fut: asyncio.Future[None] = self._loop.create_future()
7374

@@ -128,11 +129,7 @@ async def capture_frame(self, frame: AudioFrame) -> None:
128129
if self._join_fut.done():
129130
self._join_fut = self._loop.create_future()
130131

131-
# remove 50ms to account for processing time
132-
# (e.g. using wait_for_playout for very small chunks)
133-
self._join_handle = self._loop.call_later(
134-
self._q_size - 0.05, self._release_waiter
135-
)
132+
self._join_handle = self._loop.call_later(self._q_size, self._release_waiter)
136133

137134
req = proto_ffi.FfiRequest()
138135
req.capture_audio_frame.source_handle = self._ffi_handle.handle

0 commit comments

Comments
 (0)