10 个版本
新增 0.3.3 | 2024 年 8 月 22 日 |
---|---|
0.3.2 | 2024 年 2 月 28 日 |
0.3.0 | 2024 年 1 月 11 日 |
0.2.1-alpha | 2023 年 9 月 22 日 |
0.1.1 | 2023 年 1 月 12 日 |
176 在 视频 中排名
每月下载量 377
在 4 个 Crates 中使用 (2 个直接使用)
245KB
5.5K SLoC
webrtc-sys
本 Crates 为 Rust 提供了 WebRTC API 的包装,我们使用 cxx.rs 来简化我们的绑定。
包装器
我们的大部分包装器使用与 Rust 兼容的 cxx.rs 类型。由于我们的大部分包装器是无状态的,因此我们允许特定的包装器实例指向相同的底层 webrtc 指针。 (例如:多个 livekit::MediaStreamTrack 指向相同的 webrtc::MediaStreamTrackInterface)。
线程安全的方法使用 const 关键字,这样我们可以轻松地从 Rust 端调用它们,而不用担心对象的可变性。 (这与 Cell/UnsafeCell 类似,但是在 C++ 端实现的:内部可变性)。
代码
我们还将此 C++ 代码用于在 Rust 端提供其他所需的功能/功能(例如:对 libyuv 的微绑定)。
依赖项
~0.6–3.5MB
~62K SLoC