数据流 Datastream
getMaxMetadataSize
请求最大的 metadata 大小。
virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
在成功调用 registerMediaMetadataObserver
完成注册后,SDK 会在发送每一个视频帧时触发一次该回调;你需要在该方法的返回值中指定 metadata 的最大数据大小。
返回值
指定 metadata 中 buffer
的最大数据大小,单位为 Byte,最大值不超过 1024。请确保在该返回值中进行传参。
registerMediaMetadataObserver
注册媒体 metadata 观测器用于接收或发送 metadata。
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
你需要自行实现 IMetadataObserver
类并在本方法中指定 metadata 类型。本方法允许你为视频流添加同步的 metadata,用于多样化的直播互动,如发送购物链接、电子优惠券和在线测试。
调用该方法成功后,SDK 会触发 getMaxMetadataSize
回调。
注意: 请在 joinChannel [2/2]
前调用该方法。
参数
参数名 | 描述 |
---|---|
observer | metadata 观测器。详见 |
type | metadata 类型。目前仅支持 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见
错误码
了解详情和解决建议。
unregisterMediaMetadataObserver
取消注册媒体 metadata 观测器。
virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
参数
参数名 | 描述 |
---|---|
observer | metadata 观测器,详见 |
type | metadata 类型。目前仅支持 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见
错误码
了解详情和解决建议。
onMetadataReceived
onReadyToSendMetadata
发送端已准备好发送 metadata。
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
当 SDK 准备好发送 metadata 时,会触发该回调。
注意: 请确保在该方法中传入的 metadata 大小不超过 getMaxMetadataSize
中设定的值。
参数
参数名 | 描述 |
---|---|
source_Type | 视频数据类型。详见 |
metadata | 用户想要发送的 metadata。详见 |
返回值
-
true
: 发送 -
false
: 不发送