10 个版本

新增 0.3.3 2024 年 8 月 22 日
0.3.2 2024 年 2 月 28 日
0.3.0 2024 年 1 月 11 日
0.2.1-alpha2023 年 9 月 22 日
0.1.1 2023 年 1 月 12 日

176视频 中排名

Download history • Rust 包仓库 78/week @ 2024-05-02 • Rust 包仓库 62/week @ 2024-05-09 • Rust 包仓库 82/week @ 2024-05-16 • Rust 包仓库 59/week @ 2024-05-23 • Rust 包仓库 65/week @ 2024-05-30 • Rust 包仓库 84/week @ 2024-06-06 • Rust 包仓库 59/week @ 2024-06-13 • Rust 包仓库 88/week @ 2024-06-20 • Rust 包仓库 22/week @ 2024-06-27 • Rust 包仓库 42/week @ 2024-07-04 • Rust 包仓库 37/week @ 2024-07-11 • Rust 包仓库 28/week @ 2024-07-18 • Rust 包仓库 79/week @ 2024-07-25 • Rust 包仓库 96/week @ 2024-08-01 • Rust 包仓库 115/week @ 2024-08-08 • Rust 包仓库 84/week @ 2024-08-15 • Rust 包仓库

每月下载量 377
4 个 Crates 中使用 (2 个直接使用)

Apache-2.0

245KB
5.5K SLoC

C++ 2.5K SLoC // 0.1% comments • Rust 包仓库 Rust 2K SLoC // 0.1% comments • Rust 包仓库 Shell 380 SLoC // 0.2% comments • Rust 包仓库 Batch 68 SLoC • Rust 包仓库 Objective-C++ 39 SLoC // 0.4% comments • Rust 包仓库

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