C SDK 更新记录
2.3.0
升级注意
TIRTCCALLBACKS新增on_update_bitrate回调字段。升级时,头文件和库必须配套更新。应用不使用视频发送码率建议功能时,on_update_bitrate必须为NULL。TIRTC_OPT_NETWORK_TYPE设为TIRTC_NETCONN_4G后,TIRTC_OPT_ICCID为必填项。未在TiRtcStart()前提供 ICCID 时,TiRtcStart()返回TIRTC_E_INVALID_PARAMETER。参见配置 4G 设备的网络信息。stream_id仍只允许取值0..15。2.3.0 增加了范围校验;旧应用如果使用其他值,音视频和流消息发送、关键帧请求及音视频订阅接口会返回TIRTC_E_INVALID_PARAMETER。- 2.3.0 新增
TIRTC_E_HTTP_*错误码。旧应用如果会根据具体错误码执行重试或告警,需要补充相应处理;只判断返回值是否为0的应用不受影响。
新增
- 新增 TGTRP 实时音视频传输协议。该协议由 TiRTC 自研,针对弱网络环境进行了深度优化。传输方式由 SDK 在建立连接时自动协商,应用不需要修改现有的音视频发送逻辑。
- SDK 可以根据网络可用带宽向设备应用提供视频发送码率建议。设备应用调用
TiRtcConnSetVideoBitrateParams()设置码率参数,并在收到on_update_bitrate回调后调整视频编码器。参见根据网络带宽调整视频发送码率。 - 新增
TIRTC_OPT_TGTRP_POLL_TIMEOUT,用于设置网络轮询超时时间。增大取值可以降低系统负载,但会增加网络响应延迟。 - 新增
Taixin TXW82X和Goke GK7205V10平台支持。
优化
on_conn_accepted会在命令、音频和视频通道全部就绪后触发。设备应用收到回调后,可以立即使用hconn发送数据。TiRtcGetBuildInfo()现在会返回 C SDK、底层传输组件和 mbedTLS 的版本与构建时间。如果发布包写入了提交标识,返回结果中也会包含该标识。- 视频发送缓冲区满或恢复时,日志会记录
stream_id、当前占用和容量上限,便于定位TIRTC_E_BUSY。
修复
- 修复启用 HTTPS 后,
TIRTC_OPT_SERVICE_ENDPOINT仍不接受https://地址的问题。 - 修复部分 HTTP 连接关闭或响应格式异常时返回错误码不准确的问题。
2.2.1
变更
- 优化 ESP32-S3 和 ESP32-P4 的 FreeRTOS 线程资源管理:ESP32-S3 改用 ESP-IDF 扩展任务接口管理 PSRAM 线程栈,ESP32-P4 的线程栈改为使用 PSRAM,降低其对内部 RAM 的占用。
修复
- 修复 ESP32-P4 在 ESP-IDF 5.5.x 下 SoC 寄存器头文件路径不匹配导致的编译问题。
2.2.0
破坏性变更
- 设备端启动前必须通过
TiRtcSetOption(TIRTC_OPT_CLIENT_ID, ...)设置client_id。未设置client_id会导致启动失败。升级到 2.2.0 前,请为每台设备准备 1 到 64 个可打印 ASCII 字符的稳定硬件或生产标识,具体规则见建立与设备端的连接。
新增
- 提供
TiRtcGetVersion()和TiRtcGetBuildInfo(),便于运行时确认 SDK 版本和构建信息。 - 新增 AMR 音频格式定义。
修复
- 修复 Windows 平台 SSL 握手失败的问题。
- 修复连接关闭时被叫方响应不及时的问题。