VideoRenderingTracingInfo

Represents time consumption metrics for each stage during video frame rendering.

struct VideoRenderingTracingInfo {
  int elapsedTime;
  int start2JoinChannel;
  int join2JoinSuccess;
  int joinSuccess2RemoteJoined;
  int remoteJoined2SetView;
  int remoteJoined2UnmuteVideo;
  int remoteJoined2PacketReceived;
};

Properties

elapsedTime
Time interval (ms) from calling startMediaRenderingTracing to SDK triggering the onVideoRenderingTracingResult callback. Agora recommends calling startMediaRenderingTracing before joining the channel.
start2JoinChannel
Time interval (ms) from calling startMediaRenderingTracing to calling joinChannel. If this value is negative, it means startMediaRenderingTracing was called after joinChannel.
join2JoinSuccess
Time interval (ms) from calling joinChannel to successfully joining the channel.
joinSuccess2RemoteJoined
Time interval (ms) from successfully joining the channel to the remote user joining, or from calling startMediaRenderingTracing to the remote user joining, depending on when you call startMediaRenderingTracing.
Note: If you call startMediaRenderingTracing after the remote user joins, this value is 0 and meaningless. To reduce the remote user’s first frame rendering time, Agora recommends joining the channel when the remote user is already in the channel to reduce this value.
remoteJoined2SetView
Time interval (ms) from the remote user joining the channel to setting the remote view, or from calling startMediaRenderingTracing to setting the remote view, depending on when you call startMediaRenderingTracing.
Note: If you call 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 they join to reduce this value.
remoteJoined2UnmuteVideo
Time interval (ms) from the remote user joining the channel to you subscribing to the remote video stream, or from calling startMediaRenderingTracing to subscribing to the remote video stream, depending on when you call startMediaRenderingTracing.
Note: If you call startMediaRenderingTracing after subscribing 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 reduce this value.
remoteJoined2PacketReceived
Time interval (ms) from the remote user joining the channel to you receiving the remote video stream, or from calling startMediaRenderingTracing to receiving the remote video stream, depending on when you call startMediaRenderingTracing.
Note: If you call startMediaRenderingTracing after receiving the remote video stream, this value is 0 and invalid. To reduce the remote user’s first frame rendering time, Agora recommends the remote user publish the video stream immediately after joining the channel and you subscribe to it immediately to reduce this value.