IMetadataObserver
The metadata observer.
You can call registerMediaMetadataObserver to register or unregister the IMetadataObserver object.
getMaxMetadataSize
Occurs when the SDK requests the maximum size of the metadata.
virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
After successfully complete the registration by calling registerMediaMetadataObserver, the SDK triggers this callback once every video frame is sent. You need to specify the maximum size of the metadata in the return value of this callback.
Returns
The maximum size of the buffer of the metadata that you want to use. The highest value is 1024 bytes. Ensure that you set the return value.
METADATA_TYPE
Metadata type of the observer. We only support video metadata for now.
Enumerator
- UNKNOWN_METADATA
- The type of metadata is unknown.
- VIDEO_METADATA
- The type of metadata is video.
Metadata
Media metadata.
struct Metadata { unsigned int uid; unsigned int size; unsigned char *buffer; long long timeStampMs; };
Attributes
- uid
-
The user ID.
- For the recipient: The ID of the remote user who sent the Metadata.
- For the sender: Ignore it.
- size
- The buffer size of the sent or received Metadata.
- buffer
- The buffer address of the sent or received Metadata.
- timeStampMs
- The timestamp (ms) of Metadata.
onMetadataReceived
Occurs when the local user receives the metadata.
virtual void onMetadataReceived(const Metadata &metadata) = 0;
Parameters
- metadata
- The metadata received. See Metadata.
onReadyToSendMetadata
Occurs when the SDK is ready to send metadata.
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
This callback is triggered when the SDK is ready to send metadata.
Parameters
- source_type
- Video data type. See VIDEO_SOURCE_TYPE.
- metadata
- The metadata that the user wants to send. See Metadata.
Returns
true
: Send the video frame.false
: Do not send the video frame.