[0.0.11] - 2026.09.26
修复
rtc_destroy返回后回调仍可能在执行:此前rtc_destroy只清空回调,不等已经在执行的回调返回,调用方在它之后释放context可能导致崩溃。现在rtc_destroy会等所有在途回调返回后才返回,返回后可安全释放context- 销毁本地轨道后仍会触发关键帧回调:
rtc_destroy_local_track现在会摘掉关键帧回调并等在途回调返回 - 在断线回调里调用
rtc_destroy会卡死:现已支持在本实例的任意回调里销毁实例 - 异步入会(
rtc_join_channel)尚未完成就销毁实例时,频道不再一直挂着不离开
接口与结构体布局与 0.0.10 完全一致,可直接替换库文件。此前为规避上述问题而在销毁后固定等待一段时间(sleep)的代码,升级后可以删掉。
[0.0.10] - 2026.09.26
变更
- 库文件去掉调试符号,Linux 版
librtc.so体积约减小 27%(17.6MB → 12.8MB)。接口与行为无变化,崩溃时的堆栈仍会打印函数名与行号
与 0.0.9 接口完全一致,已按 0.0.9 头文件编译的程序可以直接替换库文件。
[0.0.9] - 2026.09.26
新增
rtc_get_last_error:接口返回RTC_ERROR/RTC_TIMEOUT后取具体错误码与原因,不必再翻日志rtc_set_disconnected_callback:彻底断开时回调断线原因(被踢 / 顶号 / 心跳超时 / 频道销毁),宏RTC_DISCONNECT_*rtc_get_local_user_info:获取本端 uid / sidrtc_get_channel_info/rtc_free_channel_info与结构体rtc_channel_info_t- 新增 macOS Apple Silicon 平台(
librtc.dylib)
修复
- 加入频道快约 3 秒:此前每次入会都要空等约 3 秒才开始建立信令连接,现在立即连接(实测入会耗时 3.4s → 0.4s);断线重连的间隔不变
- 修复实例句柄在特定时机被运行时判为非法指针、导致进程终止的问题
- 频道流媒体引擎配置未知时回退到默认引擎,不再无法入会
破坏性变更
- 删除
rtc_user_info_t.link_id字段(此前恒为 0,无实际含义)
回调的
context 必须是真实指针(或 NULL),不要把小整数强转成指针当 id 用,见 实例与频道 · 回调注册。