VideoRenderingTracingInfo
Collects key metrics for the video frame rendering process.
public static class VideoRenderingTracingInfo {
public int elapsedTime;
public int start2JoinChannel;
public int join2JoinSuccess;
public int joinSuccess2RemoteJoined;
public int remoteJoined2SetView;
public int remoteJoined2UnmuteVideo;
public int remoteJoined2PacketReceived;
}
Properties
- elapsedTime
- Time interval from calling startMediaRenderingTracing to the SDK triggering the onVideoRenderingTracingResult callback, in milliseconds. Agora recommends calling startMediaRenderingTracing before joining the channel.
- start2JoinChannel
- Time interval from calling startMediaRenderingTracing to calling
joinChannel, in milliseconds. If negative, it indicatesjoinChannelwas called before startMediaRenderingTracing. - join2JoinSuccess
- Time interval from calling
joinChannelto successfully joining the channel, in milliseconds. - joinSuccess2RemoteJoined
- If the local user calls startMediaRenderingTracing before successfully joining the channel, this field indicates the time interval from the local user joining the channel to the remote user joining, in milliseconds. If the local user calls startMediaRenderingTracing after joining the channel, it indicates the time interval from calling startMediaRenderingTracing to the remote user joining, in milliseconds.
Note: If the local user calls startMediaRenderingTracing after the remote user has joined the channel, this value is 0 and has no practical meaning. To reduce the first frame rendering time for the remote user, Agora recommends allowing the local user to join the channel after the remote user has joined, to minimize this value.
- remoteJoined2SetView
- If the local user calls startMediaRenderingTracing before the remote user joins the channel, this field indicates the time interval from the remote user joining to the local user setting the remote view, in milliseconds. If the local user calls startMediaRenderingTracing after the remote user has joined, it indicates the time interval from calling startMediaRenderingTracing to setting the remote view, in milliseconds.
Note: If the local user calls startMediaRenderingTracing after setting the remote view, this value is 0 and invalid. To reduce the remote user's first frame rendering time, Agora recommends setting the remote view before the remote user joins the channel or immediately after the remote user joins, to minimize this value.
- remoteJoined2UnmuteVideo
- If the local user calls startMediaRenderingTracing before the remote user joins the channel, this field indicates the time interval from the remote user joining to the local user subscribing to the remote video stream, in milliseconds. If the local user calls startMediaRenderingTracing after the remote user has joined, it indicates the time interval from calling startMediaRenderingTracing to subscribing to the remote video stream, in milliseconds.
Note: If startMediaRenderingTracing is called after the local user subscribes to the remote video stream, this value is 0 and invalid. To reduce the remote user's first frame rendering time, Agora recommends subscribing to the remote video stream immediately after the remote user joins the channel, to shorten this value.
- remoteJoined2PacketReceived
- If the local user calls startMediaRenderingTracing before the remote user joins the channel, this field indicates the time interval from the remote user joining to the local user receiving the remote video, in milliseconds. If the local user calls startMediaRenderingTracing after the remote user has joined, it indicates the time interval from calling startMediaRenderingTracing to receiving the remote video stream, in milliseconds.
Note: If the local user calls startMediaRenderingTracing after receiving the remote video stream, this value is 0 and invalid. To reduce the remote user's first frame rendering latency, Agora recommends the remote user send video immediately after joining the channel, and the local user subscribe to the video stream immediately, to minimize this value.