IMetadataObserver
Metadata 观测器。
你可以调用 registerMediaMetadataObserver 注册或取消注册 IMetadataObserver 观测器。
getMaxMetadataSize
请求最大的 metadata 大小。
virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
在成功调用 registerMediaMetadataObserver 完成注册后,SDK 会在发送每一个视频帧时触发一次该回调;你需要在该方法的返回值中指定 metadata 的最大数据大小。
返回值
指定 metadata 中 buffer 的最大数据大小,单位为 Byte,最大值不超过 1024。请确保在该返回值中进行传参。
METADATA_TYPE
观测器的 Metadata 类型。当前仅支持视频类型的 Metadata 。
枚举值
- UNKNOWN_METADATA
- Metadata 类型未知。
- VIDEO_METADATA
- Metadata 类型为视频。
Metadata
媒体附属信息。
struct Metadata { unsigned int uid; unsigned int size; unsigned char *buffer; long long timeStampMs; };
属性
- uid
-
用户 ID。
- 对于接收者:发送该 Metadata 的远端用户的 ID。
- 对于发送者:请忽略。
- size
- 接收到的或发送的 Metadata 的缓存大小。
- buffer
- 接收到的或发送的 Metadata 的缓存地址。
- timeStampMs
- Metadata 的时间戳,单位为毫秒。
onMetadataReceived
接收端已收到 metadata。
virtual void onMetadataReceived(const Metadata &metadata) = 0;
};
参数
- metadata
- 接收到的 metadata,详见 Metadata。
onReadyToSendMetadata
发送端已准备好发送 metadata。
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
当 SDK 准备好发送 metadata 时,会触发该回调。
注意: 请确保在该方法中传入的 metadata 大小不超过 getMaxMetadataSize 中设定的值。
参数
- source_Type
- 视频数据类型。详见 VIDEO_SOURCE_TYPE。
- metadata
- 用户想要发送的 metadata。详见 Metadata。
返回值
true
: 发送false
: 不发送