ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

webrtc-rs/webrtc v0.21.0发布:API 可扩展、异步集成、确定性时间、ICE 重启与 SCTP 全面修复

webrtc-rs/webrtc v0.21.0发布:API 可扩展、异步集成、确定性时间、ICE 重启与 SCTP 全面修复 2026 年 9 月 28 日webrtc-rs/webrtc 发布 v0.21.0。这是一次覆盖范围较广的版本更新从预 1.0 阶段的 API 可扩展性准备到异步 WebRTC 仓库集成从 RTC 核心的确定性时间能力到数据通道慢消费者场景下的消息保留从 PeerConnection 驱动热循环修复到 Android 后台网络恢复、ICE 重启地址重绑再到拦截器、RTCP 转发、RTP 首包、SCTP 流标识分配和零窗口死锁等问题处理v0.21.0 包含了 65 次提交、89 个文件变更并有 5 位贡献者参与。本次版本的演进过程经历了 alpha、beta 与候选版本多个阶段最终形成 v0.21.0 正式发布版本。版本信息版本v0.21.0发布日期2026 年 9 月 28 日提交数量65变更文件89贡献者数量5版本演进alpha.1、alpha.2、beta.1、beta.2、rc.1、rc.2最终发布 v0.21.0本次更新核心内容速览v0.21.0 的更新内容可归纳为以下几个方向在 API 冻结前完成可扩展性改造。集成异步 WebRTC 仓库。从 RTCPeerConnection 的公开 API 中移除 crypto_provider。在 RTC 核心中引入确定性时间能力。修复数据通道消费者较慢时入站消息被静默丢弃的问题。修复 PeerConnection driver 在过期超时不推进时可能出现的热循环问题。更新 SettingEngineBuilder。引入 Transport Objects。应用 SettingEngine 中 TURN allocation Refresh 上限。修复 Android 后台约 10 秒后 ICE restart 停滞的问题。修复网络切换后 ICE restart 重绑复用旧解析地址并在 EADDRNOTAVAIL 时终止 driver 的问题。使用 Attribute::DeliverToApplication 处理 RTCP forwarder。补充 interceptor 示例。修复 RTP 流首个数据包穿越整个 interceptor 链路的问题。修复 SCTP 在 DTLS 角色确定前过早分配 stream-id 的问题。修复 SCTP 在特定情形下的永久零窗口死锁。修复 TURN relayer 消耗 STUN Binding 响应的问题。更新内联文档、README、Cargo 文档以及 RTC 指针版本。预 1.0 阶段为 API 冻结前的可扩展性做准备本次更新包含预 1.0 阶段的 G2 工作即在 API 冻结前提升 API 的可扩展性。这一项工作对应 838并通过 849 合入。更新记录明确指出此项变更的目标是在 API 正式冻结之前完成可扩展性准备。与此同时仓库在 8 月 2 日增加了 CHANGELOG.md用于记录版本演进与变更信息。同一天还完成了让 v0.20.x 分支运行 GitHub Actions 的调整。随后在 8 月 3 日v0.21.x 分支也完成 GitHub Actions 运行支持。这些分支与自动化流程相关的变更出现在 v0.21.0 的早期开发阶段并与后续功能开发、测试和版本发布流程共同构成了本次版本的演进基础。异步 WebRTC 仓库集成v0.21.0 完成了 P8 工作集成 async webrtc 仓库。该项内容在 8 月 4 日完成并合入 v0.21.x 分支。提交记录中还包括对内联文档和 README.md 的改进。异步集成是本次版本的重要组成部分。更新记录中明确列出了异步 WebRTC 仓库集成同时在后续 Transport Objects 相关工作中也包含 T4、T5 异步层内容以及 T6、T7 测试和文档内容。由此可见异步相关能力、测试和文档在本次版本周期内均得到了持续推进。移除 RTCPeerConnection 公开 API 中的 crypto_provider8 月 5 日v0.21.0 完成了一项公开 API 调整从 RTCPeerConnection 中移除公开的 crypto_provider API。该变更对应 855。更新项直接指出crypto_provider 不再作为 RTCPeerConnection 的 public API 存在。对于处于预 1.0 阶段的项目而言公开 API 的整理与调整具有明确意义在 API 最终稳定前项目持续处理接口边界与可扩展性问题。本次版本中API 可扩展性准备与 crypto_provider 的公开接口移除均属于这一阶段的关键调整。RTC 核心引入确定性时间v0.21.0 包含预 1.0 阶段的 G4 工作在 RTC core 中实现确定性时间。这一部分对应 859在 8 月 7 日完成。提交内容包括C6-01新增 Runtime::now()并让 driver 通过该能力获取时间。C6-02新增端到端 MockRuntime 虚拟时钟测试。C6-3将 MockNetwork 重命名为 MockUDPNetwork。其中Runtime::now() 的加入以及 driver 对该能力的使用是本次 RTC 核心确定性时间改造的重要内容。与此同时端到端 MockRuntime 虚拟时钟测试也被加入用于覆盖虚拟时钟场景。8 月 8 日还完成了内部*_EVENT_CHANNEL_CAPACITY命名调整。虽然这是内部命名层面的变化但同样处在 RTC 核心确定性时间工作完成后的版本推进过程中。修复数据通道慢消费者导致的入站消息静默丢失数据通道可靠性是本次更新中的重要方向之一。更新记录指出当 consumer 处理速度较慢时入站>
返回列表