Skip to content

Commit 4afd71e

Browse files
authored
Port data streams over to rust livekit-ffi version (#769)
1 parent d361b8a commit 4afd71e

6 files changed

Lines changed: 1499 additions & 279 deletions

File tree

livekit-rtc/livekit/rtc/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
from .room import (
6767
ConnectError,
6868
DataPacket,
69+
DataStreamOptions,
6970
Room,
7071
RoomOptions,
7172
RtcConfiguration,
@@ -123,6 +124,7 @@
123124
TextStreamWriter,
124125
ByteStreamWriter,
125126
ByteStreamReader,
127+
StreamError,
126128
)
127129
from .data_track import (
128130
LocalDataTrack,
@@ -172,6 +174,7 @@
172174
"ConnectError",
173175
"Room",
174176
"RoomOptions",
177+
"DataStreamOptions",
175178
"RtcConfiguration",
176179
"SimulateScenarioKind",
177180
"SipDTMF",
@@ -217,6 +220,7 @@
217220
"TextStreamWriter",
218221
"ByteStreamReader",
219222
"ByteStreamWriter",
223+
"StreamError",
220224
"AudioProcessingModule",
221225
"PlatformAudio",
222226
"PlatformAudioSource",

livekit-rtc/livekit/rtc/_ffi_client.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,15 @@ def __del__(self) -> None:
8080
def disposed(self) -> bool:
8181
return self._disposed
8282

83+
def mark_consumed(self) -> None:
84+
"""Marks the handle as already released on the native side.
85+
86+
Some requests take ownership of their handle (``take_handle``) rather
87+
than borrowing it. After issuing one, the handle must not be dropped
88+
again, so this suppresses the drop that dispose/GC would otherwise do.
89+
"""
90+
self._disposed = True
91+
8392
def dispose(self) -> None:
8493
if self.handle != INVALID_HANDLE and not self._disposed:
8594
self._disposed = True

0 commit comments

Comments
 (0)