Agora RTC Objective-C API Reference Refactor

Properties
AgoraVideoRenderingTracingInfo Class Reference

Inherits <NSObject>.

## Properties
NSInteger | elapsedTime
NSInteger | start2JoinChannel
NSInteger | join2JoinSuccess
NSInteger | joinSuccess2RemoteJoined
NSInteger | remoteJoined2SetView
NSInteger | remoteJoined2UnmuteVideo
NSInteger | remoteJoined2PacketReceived

## Property Documentation

## ◆ elapsedTime

- (NSInteger) elapsedTime
| read write nonatomic assign

The time interval (ms) from `startMediaRenderingTracing` to SDK triggering the `rtcEngine:videoRenderingTracingResultOfUid:currentEvent:tracingInfo:` callback. Agora recommends you call `startMediaRenderingTracing` before joining a channel.

## ◆ start2JoinChannel

- (NSInteger) start2JoinChannel
| read write nonatomic assign

The time interval (ms) from `startMediaRenderingTracing` to `joinChannelByToken:channelId:info:uid:joinSuccess:` or `joinChannelByToken:channelId:uid:mediaOptions:joinSuccess:`. A negative number indicates that `startMediaRenderingTracing` is called after calling `joinChannelByToken:channelId:uid:mediaOptions:joinSuccess:`.

## ◆ join2JoinSuccess

- (NSInteger) join2JoinSuccess
| read write nonatomic assign

The time interval (ms) from `joinChannelByToken:channelId:info:uid:joinSuccess:` or `joinChannelByToken:channelId:uid:mediaOptions:joinSuccess:` to successfully joining the channel.

## ◆ joinSuccess2RemoteJoined

- (NSInteger) joinSuccess2RemoteJoined
| read write nonatomic assign

- 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

- (NSInteger) remoteJoined2SetView
| read write nonatomic assign

- 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

- (NSInteger) remoteJoined2UnmuteVideo
| read write nonatomic assign

- 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

- (NSInteger) remoteJoined2PacketReceived
| read write nonatomic assign

- 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.