/** The user/host has joined the channel. Same as [userJoinedBlock]([AgoraRtcEngineKit userJoinedBlock:]).
- Communication mode: This callback function notifies the application that another user has joined the channel. If there are other users in the channel when that user joins, the SDK also reports to the application on the existing users who are already in the channel.
/** The first frame of the remote user has been decoded successfully. Same as [firstRemoteVideoDecodedBlock]([AgoraRtcEngineKit firstRemoteVideoDecodedBlock:]).
@param engine AgoraRtcEngineKit object.
@param uid Remote user ID.
@param size Size of the video (width and height).
@param elapsed Time elapsed (ms) from the remote user calling [joinChannelByToken]([AgoraRtcEngineKit joinChannelByToken:channelId:info:uid:joinSuccess:]) until this callback function is triggered.
/** The first remote video frame has been received and rendered. Same as [firstRemoteVideoFrameBlock]([AgoraRtcEngineKit firstRemoteVideoFrameBlock:]).
/** Enables/disables the local video function of a specified user.
This method is only applicable to the scenario when the specified user only wants to watch the remote video without sending any video stream to the other user.
@param engine AgoraRtcEngineKit object.
@param enabled Enable or disable the local video function of a specified user:
* YES: Enabled. Other users in the channel can see the video of the specified user.
* NO: Disabled. Other users in the channel do not receive the video stream from the specified user, while the specified user can still receive the video streams from other users.
/** The statistics of the uploading local video streams.
Same as [localVideoStatBlock]([AgoraRtcEngineKit localVideoStatBlock:]). This method reports the statistics of the local video streams once every two seconds.
@param engine AgoraRtcEngineKit object.
@param stats Statistics of the uploading local video streams: AgoraRtcLocalVideoStats