Skip to content

Commit 89715ca

Browse files
committed
implement close function in audio/video source
1 parent cfe507f commit 89715ca

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

livekit-rtc/livekit/rtc/audio_source.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ async def capture_frame(self, frame: AudioFrame) -> None:
118118
Exception: If there is an error during frame capture.
119119
"""
120120

121-
if frame.samples_per_channel == 0:
121+
if frame.samples_per_channel == 0 or self._ffi_handle.disposed:
122122
return
123123

124124
now = time.monotonic()
@@ -175,3 +175,11 @@ def _release_waiter(self) -> None:
175175
self._last_capture = 0.0
176176
self._q_size = 0.0
177177
self._join_fut = None
178+
179+
def close(self) -> None:
180+
"""Close the audio source
181+
182+
This method cleans up resources associated with the audio source.
183+
"""
184+
self._ffi_handle.dispose()
185+

livekit-rtc/livekit/rtc/video_source.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,6 @@ def capture_frame(
4242
req.capture_video_frame.rotation = rotation
4343
req.capture_video_frame.timestamp_us = timestamp_us
4444
FfiClient.instance.request(req)
45+
46+
def close() -> None:
47+
self._ffi_handle.dispose()

0 commit comments

Comments
 (0)