Agora RTC Objective-C API Reference Refactor

Data Fields
VideoRenderingTracingInfo Struct Reference

## Data Fields
int | elapsedTime
int | start2JoinChannel
int | join2JoinSuccess
int | joinSuccess2RemoteJoined
int | remoteJoined2SetView
int | remoteJoined2UnmuteVideo
int | remoteJoined2PacketReceived

## Field Documentation

## ◆ elapsedTime

int elapsedTime

The time interval (ms) from `startMediaRenderingTracing` to SDK triggering the `onVideoRenderingTracingResult` callback. Agora recommends you call `startMediaRenderingTracing` before joining a channel.

## ◆ start2JoinChannel

int start2JoinChannel

The time interval (ms) from `startMediaRenderingTracing` to `joinChannel(const char* token, const char* channelId, const char* info, uid_t uid)` or `joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options)` . A negative number indicates that `startMediaRenderingTracing` is called after calling `joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options)`.

## ◆ join2JoinSuccess

int join2JoinSuccess

The time interval (ms) from `joinChannel(const char* token, const char* channelId, const char* info, uid_t uid)` or `joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options)` to successfully joining the channel.

## ◆ joinSuccess2RemoteJoined

int joinSuccess2RemoteJoined

- If the local user calls `startMediaRenderingTracing` before successfully joining the channel, this value is the time interval (ms) from the local user successfully joining the channel to the remote user joining the channel.
- If the local user calls `startMediaRenderingTracing` after successfully joining the channel, the value is the time interval (ms) from `startMediaRenderingTracing` to when the remote user joins the channel.
  Note
- If the local user calls `startMediaRenderingTracing` after the remote user joins the channel, the value is 0 and meaningless.
- In order to reduce the time of rendering the first frame for remote users, Agora recommends that the local user joins the channel when the remote user is in the channel to reduce this value.

## ◆ remoteJoined2SetView

int remoteJoined2SetView

- If the local user calls `startMediaRenderingTracing` before the remote user joins the channel, this value is the time interval (ms) from when the remote user joins the channel to when the local user sets the remote view.
- If the local user calls `startMediaRenderingTracing` after the remote user joins the channel, this value is the time interval (ms) from calling `startMediaRenderingTracing` to setting the remote view.
  Note
- If the local user calls `startMediaRenderingTracing` after setting the remote view, the value is 0 and has no effect.
- In order to reduce the time of rendering the first frame for remote users, Agora recommends that the local user sets the remote view before the remote user joins the channel, or sets the remote view immediately after the remote user joins the channel to reduce this value.

## ◆ remoteJoined2UnmuteVideo

int remoteJoined2UnmuteVideo

- If the local user calls `startMediaRenderingTracing` before the remote user joins the channel, this value is the time interval (ms) from the remote user joining the channel to subscribing to the remote video stream.
- If the local user calls `startMediaRenderingTracing` after the remote user joins the channel, this value is the time interval (ms) from `startMediaRenderingTracing` to subscribing to the remote video stream.
  Note
- If the local user calls `startMediaRenderingTracing` after subscribing to the remote video stream, the value is 0 and has no effect.
- In order to reduce the time of rendering the first frame for remote users, Agora recommends that after the remote user joins the channel, the local user immediately subscribes to the remote video stream to reduce this value.

## ◆ remoteJoined2PacketReceived

int remoteJoined2PacketReceived

- If the local user calls `startMediaRenderingTracing` before the remote user joins the channel, this value is the time interval (ms) from when the remote user joins the channel to when the local user receives the remote video stream.
- If the local user calls `startMediaRenderingTracing` after the remote user joins the channel, this value is the time interval (ms) from `startMediaRenderingTracing` to receiving the remote video stream.
  Note
- If the local user calls `startMediaRenderingTracing` after receiving the remote video stream, the value is 0 and has no effect.
- In order to reduce the time of rendering the first frame for remote users, Agora recommends that the remote user publishes video streams immediately after joining the channel, and the local user immediately subscribes to remote video streams to reduce this value.