如果你希望从此前版本的 Linux 客户端 SDK 升级到最新的客户端 SDK,请在工程文件中,替换最新的客户端 SDK 文件,并参考本文完成 API,回调,参数类型等的替换。
升级过程中,你可能需要参考老版本 API 文档归档。
| 变更详情 | 方法 | 说明 |
|---|---|---|
| 参数变更 | feedback | 参数数据类型变更 |
| 变更详情 | 方法 | 说明 |
|---|---|---|
参数变更 | 参数
|
| 变更详情 | 错误码 | 说明 |
|---|---|---|
枚举值变更 | 新增枚举值:
名称变更:
| |
新增枚举值 |
原 bytertc_common_defines.h 文件拆分为 bytertc_media_defines.h 及 bytertc_rts_defines.h
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
拆分 | 视频管理 |
|
| 解除人脸识别与视频特效之间的耦合,提升接口易用性。 |
| 参数类型变更 | 屏幕共享 | virtual int setScreenVideoEncoderConfig(const VideoEncoderConfig& screen_solution) = 0; | virtual int setScreenVideoEncoderConfig(const ScreenVideoEncoderConfig& screen_solution) = 0; | 参数类型变更为新增的 ScreenVideoEncoderConfig |
行为变更 | 屏幕共享 |
|
| 优化屏幕共享接口的行为 |
名称和参数变更 | 音视频处理 |
|
| 统一返回值 |
|
| |||
virtual int updateNode(const char* nodePath, const char* nodeKey, float nodeValue) = 0; | virtual int updateEffectNode(const char* effectNodePath, const char* nodeKey, float nodeValue) = 0; | |||
| 屏幕分享 | virtual bool pushScreenFrame(IVideoFrame* frame) | virtual int pushScreenVideoFrame``(IVideoFrame* frame) | ||
| 参数变更 | 消息 | virtual int sendSEIMessage(StreamIndex stream_index, const uint8_t* message, int length, int repeat_count) = 0; | virtual int sendSEIMessage(StreamIndex stream_index, const uint8_t* message, int length, int repeat_count, SEICountPerFrame mode) = 0; | 支持 SEI 多发模式,即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。 |
多个模块 | 返回值类型变化,例如:
该版本中含此变更的方法包括: updateToken (返回值 void—>int) setRemoteVideoConfig (返回值 void—>int) subscribeStream (返回值 void—>int) unsubscribeStream (返回值 void—>int) subscribeScreen (返回值 void—>int) unsubscribeScreen (返回值 void—>int) pushExternalAudioFrame (返回值 bool—>int) pullExternalAudioFrame (返回值 bool—>int) pushExternalVideoFrame (返回值 bool—>int) setRemoteAudioPlaybackVolume (返回值 void—>int) pushExternalEncodedVideoFrame (返回值 bool—>int) setPublicStreamVideoSink (返回值 void—>int) enableSimulcastMode (返回值 int—>void) setPublishFallbackOption (返回值 int—>void) setSubscribeFallbackOption (返回值 int—>void) | |||
| 名称变更 | 视频管理 | setRemoteStreamVideoCanvas | setRemoteVideoCanvas | |
| CDN 推流 | onStreamMixingVideoFrame | onMixingVideoFrame | ||
onStreamMixingAudioFrame | onMixingAudioFrame | |||
onStreamMixingDataFrame | onMixingDataFrame | |||
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变更 | 消息 | virtual void onPublicStreamSEIMessageReceived(const char* public_stream_id, const uint8_t* message, int message_length) { (void)public_stream_id; (void)message; (void)message_length; } | virtual void onPublicStreamSEIMessageReceived(const char* public_stream_id, const uint8_t* message, int message_length, SEIMessageSourceType source_type) { (void)public_stream_id; (void)message; (void)message_length; (void)source_type; } | |
| 废弃 | 音频管理 | onLocalAudioStateChanged 和 onLocalVideoStateChanged | 使用 onAudioDeviceStateChanged 和 onVideoDeviceStateChanged 代替 |
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 取值范围拓展 | TranscoderLayoutRegion中,width 和 height | 取值范围由 (0.0, 1.0] 拓展为 [0.0, 1.0]。 |
| 枚举值增删 | UserMessageSendResult | 新增枚举值:kUserMessageSendResultExceedQPS = 5 |
RoomMessageSendResult | 新增枚举值:kRoomMessageSendResultExceedQPS = 5 | |
AudioProcessorMethod | 新增枚举值:kAudioFrameProcessorEarMonitor = 3 | |
| 成员变量变更 | FaceDetectResult | 新增成员变量:frame_timestamp_us |
| 废弃屏幕共享内部采集的变量 | |
| 增加成员变量 | |
ITranscoderParam | 新增成员变量:TranscoderClientMixParam | |
| 变量类型变更 | 空间音频功能中表示空间坐标的 position 的 变量 x, y, z 类型由 int 更改为 float。 | 提升球面立体声渲染效果。 |
枚举值名称变更 |
| 枚举值名称增加前缀 k,更改后的枚举值如下: |
| 配置变更 | RoomProfileType | 房间属性的默认值 kRoomProfileTypeCommunication = 0,对应的由 kRoomProfileTypeChatRoom = 6 变更为 kRoomProfileTypeMeeting = 16。 |
| 新增 | PublicStreamErrorCode | onPlayPublicStreamResult 和 onPushPublicStreamResult 中的 errorCode 参数类型由 int 改为 PublicStreamErrorCode |
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增删 | ErrorCode | 新增枚举值:kErrorCodeUserIDDifferent = -1014 |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 方法 | 备注 |
|---|---|---|---|
| 参数数据结构改动 | 音频管理 | virtual void enableAudioPropertiesReport(const AudioPropertiesConfig& config) = 0; | 数据结构中,新增参数:AudioPropertiesModeAudioReportMode |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 废弃原方法 | 音频处理 | virtual void muteAudioPlayback(MuteState mute_state) = 0; | virtual void setPlaybackVolume(const int volume) = 0; | 设置远端用户音量为 0 即可停止播放本地收到的音频流 |