io.agora.rtc

## Class RemoteVideoTrackStats

- java.lang.Object
- - io.agora.rtc.RemoteVideoTrackStats

-     public class RemoteVideoTrackStats
      extends java.lang.Object

  Statistics of the remote video track.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private int` | `avSyncTimeMs` The offset (ms) between audio and video stream.
    `private int` | `decoderOutputFrameRate` The decoder output frame rate (fps) of the remote video.
    `private int` | `delay` **DEPRECATED** Time delay (ms).
    `private int` | `downlinkProcessTimeMs` The average offset(ms) between receive first packet which composite the frame and the frame ready to render.
    `private int` | `frameLossRate` The video frame loss rate (%) of the remote video stream in the reported interval.
    `private int` | `frameRenderDelayMs` The average time cost in renderer.
    `private int` | `frozenRate` The total video freeze time as a percentage (%) of the total time when the video is available.
    `private int` | `height` Height (pixels) of the video stream.
    `private int` | `packetLossRate` Packet loss rate (%) of the remote video stream after using the anti-packet-loss method.
    `private long` | `publishDuration` The total publish duration (ms) of the remote video stream.
    `private int` | `receivedBitrate` Bitrate (Kbps) received since the last count.
    `private int` | `rendererOutputFrameRate` The render output frame rate (fps) of the remote video.
    `private int` | `rxStreamType` The remote video stream type.
    `private long` | `totalActiveTime` The total time (ms) when the remote user neither stops sending the video stream nor disables the video module after joining the channel.
    `private int` | `totalDecodedFrames` The total video decoded frames.
    `private int` | `totalFrozenTime` The total freeze time (ms) of the remote video stream after the remote user joins the channel.
    `private int` | `uid` User ID of the remote user sending the video streams.
    `private int` | `width` Width (pixels) of the video stream.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RemoteVideoTrackStats()` Default constructor for RemoteVideoTrackStats.
    `RemoteVideoTrackStats(int uid, int delay, int width, int height, int receivedBitrate, int decoderOutputFrameRate, int rendererOutputFrameRate, int frameLossRate, int packetLossRate, int rxStreamType, int totalFrozenTime, int frozenRate, int totalDecodedFrames, int avSyncTimeMs, int downlinkProcessTimeMs, int frameRenderDelayMs, long totalActiveTime, long publishDuration)` Constructs RemoteVideoTrackStats with all parameters.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAvSyncTimeMs()` Gets the AV sync time (ms).
    `int` | `getDecoderOutputFrameRate()` Gets the decoder output frame rate (fps).
    `int` | `getDelay()` Gets the time delay (ms) (deprecated).
    `int` | `getDownlinkProcessTimeMs()` Gets the downlink process time (ms).
    `int` | `getFrameLossRate()` Gets the frame loss rate (%).
    `int` | `getFrameRenderDelayMs()` Gets the frame render delay (ms).
    `int` | `getFrozenRate()` Gets the freeze rate (%).
    `int` | `getHeight()` Gets the height (px).
    `int` | `getPacketLossRate()` Gets the packet loss rate (%).
    `long` | `getPublishDuration()` Gets the publish duration (ms).
    `int` | `getReceivedBitrate()` Gets the received bitrate (Kbps).
    `int` | `getRendererOutputFrameRate()` Gets the renderer output frame rate (fps).
    `int` | `getRxStreamType()` Gets the remote video stream type.
    `long` | `getTotalActiveTime()` Gets the total active time (ms).
    `int` | `getTotalDecodedFrames()` Gets the total decoded frames.
    `int` | `getTotalFrozenTime()` Gets the total freeze time (ms).
    `int` | `getUid()` Gets the user ID.
    `int` | `getWidth()` Gets the width (px).
    `void` | `setAvSyncTimeMs(int avSyncTimeMs)` Sets the AV sync time (ms).
    `void` | `setDecoderOutputFrameRate(int decoderOutputFrameRate)` Sets the decoder output frame rate (fps).
    `void` | `setDelay(int delay)` Sets the time delay (ms) (deprecated).
    `void` | `setDownlinkProcessTimeMs(int downlinkProcessTimeMs)` Sets the downlink process time (ms).
    `void` | `setFrameLossRate(int frameLossRate)` Sets the frame loss rate (%).
    `void` | `setFrameRenderDelayMs(int frameRenderDelayMs)` Sets the frame render delay (ms).
    `void` | `setFrozenRate(int frozenRate)` Sets the freeze rate (%).
    `void` | `setHeight(int height)` Sets the height (px).
    `void` | `setPacketLossRate(int packetLossRate)` Sets the packet loss rate (%).
    `void` | `setPublishDuration(long publishDuration)` Sets the publish duration (ms).
    `void` | `setReceivedBitrate(int receivedBitrate)` Sets the received bitrate (Kbps).
    `void` | `setRendererOutputFrameRate(int rendererOutputFrameRate)` Sets the renderer output frame rate (fps).
    `void` | `setRxStreamType(int rxStreamType)` Sets the remote video stream type.
    `void` | `setTotalActiveTime(long totalActiveTime)` Sets the total active time (ms).
    `void` | `setTotalDecodedFrames(int totalDecodedFrames)` Sets the total decoded frames.
    `void` | `setTotalFrozenTime(int totalFrozenTime)` Sets the total freeze time (ms).
    `void` | `setUid(int uid)` Sets the user ID.
    `void` | `setWidth(int width)` Sets the width (px).
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### uid

          private int uid

      User ID of the remote user sending the video streams.

    - #### delay

          private int delay

      **DEPRECATED** Time delay (ms).

    - #### width

          private int width

      Width (pixels) of the video stream.

    - #### height

          private int height

      Height (pixels) of the video stream.

    - #### receivedBitrate

          private int receivedBitrate

      Bitrate (Kbps) received since the last count.

    - #### decoderOutputFrameRate

          private int decoderOutputFrameRate

      The decoder output frame rate (fps) of the remote video.

    - #### rendererOutputFrameRate

          private int rendererOutputFrameRate

      The render output frame rate (fps) of the remote video.

    - #### frameLossRate

          private int frameLossRate

      The video frame loss rate (%) of the remote video stream in the reported interval.

    - #### packetLossRate

          private int packetLossRate

      Packet loss rate (%) of the remote video stream after using the anti-packet-loss method.

    - #### rxStreamType

          private int rxStreamType

      The remote video stream type.

    - #### totalFrozenTime

          private int totalFrozenTime

      The total freeze time (ms) of the remote video stream after the remote user joins the channel. In a video session where the frame rate is set to no less than 5 fps, video freeze occurs when the time interval between two adjacent renderable video frames is more than 500 ms.

    - #### frozenRate

          private int frozenRate

      The total video freeze time as a percentage (%) of the total time when the video is available.

    - #### totalDecodedFrames

          private int totalDecodedFrames

      The total video decoded frames.

    - #### avSyncTimeMs

          private int avSyncTimeMs

      The offset (ms) between audio and video stream. A positive value indicates the audio leads the video, and a negative value indicates the audio lags the video.

    - #### downlinkProcessTimeMs

          private int downlinkProcessTimeMs

      The average offset(ms) between receive first packet which composite the frame and the frame ready to render.

    - #### frameRenderDelayMs

          private int frameRenderDelayMs

      The average time cost in renderer.

    - #### totalActiveTime

          private long totalActiveTime

      The total time (ms) when the remote user neither stops sending the video stream nor disables the video module after joining the channel.

    - #### publishDuration

          private long publishDuration

      The total publish duration (ms) of the remote video stream.

  - ### Constructor Detail

    - #### RemoteVideoTrackStats

          public RemoteVideoTrackStats()

      Default constructor for RemoteVideoTrackStats.

    - #### RemoteVideoTrackStats

          public RemoteVideoTrackStats(int uid,
                                       int delay,
                                       int width,
                                       int height,
                                       int receivedBitrate,
                                       int decoderOutputFrameRate,
                                       int rendererOutputFrameRate,
                                       int frameLossRate,
                                       int packetLossRate,
                                       int rxStreamType,
                                       int totalFrozenTime,
                                       int frozenRate,
                                       int totalDecodedFrames,
                                       int avSyncTimeMs,
                                       int downlinkProcessTimeMs,
                                       int frameRenderDelayMs,
                                       long totalActiveTime,
                                       long publishDuration)

      Constructs RemoteVideoTrackStats with all parameters.
      Parameters:
        `uid` - User ID of the remote user
        `delay` - Time delay (ms) (deprecated)
        `width` - Width (px)
        `height` - Height (px)
        `receivedBitrate` - Received bitrate (Kbps)
        `decoderOutputFrameRate` - Decoder output frame rate (fps)
        `rendererOutputFrameRate` - Renderer output frame rate (fps)
        `frameLossRate` - Frame loss rate (%)
        `packetLossRate` - Packet loss rate (%)
        `rxStreamType` - Remote video stream type
        `totalFrozenTime` - Total freeze time (ms)
        `frozenRate` - Freeze rate (%)
        `totalDecodedFrames` - Total decoded frames
        `avSyncTimeMs` - AV sync time (ms)
        `downlinkProcessTimeMs` - Downlink process time (ms)
        `frameRenderDelayMs` - Frame render delay (ms)
        `totalActiveTime` - Total active time (ms)
        `publishDuration` - Publish duration (ms)

  - ### Method Detail

    - #### getUid

          public int getUid()

      Gets the user ID.
      Returns:
        User ID

    - #### setUid

          public void setUid(int uid)

      Sets the user ID.
      Parameters:
        `uid` - User ID

    - #### getDelay

          public int getDelay()

      Gets the time delay (ms) (deprecated).
      Returns:
        Time delay (ms)

    - #### setDelay

          public void setDelay(int delay)

      Sets the time delay (ms) (deprecated).
      Parameters:
        `delay` - Time delay (ms)

    - #### getWidth

          public int getWidth()

      Gets the width (px).
      Returns:
        Width (px)

    - #### setWidth

          public void setWidth(int width)

      Sets the width (px).
      Parameters:
        `width` - Width (px)

    - #### getHeight

          public int getHeight()

      Gets the height (px).
      Returns:
        Height (px)

    - #### setHeight

          public void setHeight(int height)

      Sets the height (px).
      Parameters:
        `height` - Height (px)

    - #### getReceivedBitrate

          public int getReceivedBitrate()

      Gets the received bitrate (Kbps).
      Returns:
        Received bitrate (Kbps)

    - #### setReceivedBitrate

          public void setReceivedBitrate(int receivedBitrate)

      Sets the received bitrate (Kbps).
      Parameters:
        `receivedBitrate` - Received bitrate (Kbps)

    - #### getDecoderOutputFrameRate

          public int getDecoderOutputFrameRate()

      Gets the decoder output frame rate (fps).
      Returns:
        Decoder output frame rate (fps)

    - #### setDecoderOutputFrameRate

          public void setDecoderOutputFrameRate(int decoderOutputFrameRate)

      Sets the decoder output frame rate (fps).
      Parameters:
        `decoderOutputFrameRate` - Decoder output frame rate (fps)

    - #### getRendererOutputFrameRate

          public int getRendererOutputFrameRate()

      Gets the renderer output frame rate (fps).
      Returns:
        Renderer output frame rate (fps)

    - #### setRendererOutputFrameRate

          public void setRendererOutputFrameRate(int rendererOutputFrameRate)

      Sets the renderer output frame rate (fps).
      Parameters:
        `rendererOutputFrameRate` - Renderer output frame rate (fps)

    - #### getFrameLossRate

          public int getFrameLossRate()

      Gets the frame loss rate (%).
      Returns:
        Frame loss rate (%)

    - #### setFrameLossRate

          public void setFrameLossRate(int frameLossRate)

      Sets the frame loss rate (%).
      Parameters:
        `frameLossRate` - Frame loss rate (%)

    - #### getPacketLossRate

          public int getPacketLossRate()

      Gets the packet loss rate (%).
      Returns:
        Packet loss rate (%)

    - #### setPacketLossRate

          public void setPacketLossRate(int packetLossRate)

      Sets the packet loss rate (%).
      Parameters:
        `packetLossRate` - Packet loss rate (%)

    - #### getRxStreamType

          public int getRxStreamType()

      Gets the remote video stream type.
      Returns:
        Remote video stream type

    - #### setRxStreamType

          public void setRxStreamType(int rxStreamType)

      Sets the remote video stream type.
      Parameters:
        `rxStreamType` - Remote video stream type

    - #### getTotalFrozenTime

          public int getTotalFrozenTime()

      Gets the total freeze time (ms).
      Returns:
        Total freeze time (ms)

    - #### setTotalFrozenTime

          public void setTotalFrozenTime(int totalFrozenTime)

      Sets the total freeze time (ms).
      Parameters:
        `totalFrozenTime` - Total freeze time (ms)

    - #### getFrozenRate

          public int getFrozenRate()

      Gets the freeze rate (%).
      Returns:
        Freeze rate (%)

    - #### setFrozenRate

          public void setFrozenRate(int frozenRate)

      Sets the freeze rate (%).
      Parameters:
        `frozenRate` - Freeze rate (%)

    - #### getTotalDecodedFrames

          public int getTotalDecodedFrames()

      Gets the total decoded frames.
      Returns:
        Total decoded frames

    - #### setTotalDecodedFrames

          public void setTotalDecodedFrames(int totalDecodedFrames)

      Sets the total decoded frames.
      Parameters:
        `totalDecodedFrames` - Total decoded frames

    - #### getAvSyncTimeMs

          public int getAvSyncTimeMs()

      Gets the AV sync time (ms).
      Returns:
        AV sync time (ms)

    - #### setAvSyncTimeMs

          public void setAvSyncTimeMs(int avSyncTimeMs)

      Sets the AV sync time (ms).
      Parameters:
        `avSyncTimeMs` - AV sync time (ms)

    - #### getDownlinkProcessTimeMs

          public int getDownlinkProcessTimeMs()

      Gets the downlink process time (ms).
      Returns:
        Downlink process time (ms)

    - #### setDownlinkProcessTimeMs

          public void setDownlinkProcessTimeMs(int downlinkProcessTimeMs)

      Sets the downlink process time (ms).
      Parameters:
        `downlinkProcessTimeMs` - Downlink process time (ms)

    - #### getFrameRenderDelayMs

          public int getFrameRenderDelayMs()

      Gets the frame render delay (ms).
      Returns:
        Frame render delay (ms)

    - #### setFrameRenderDelayMs

          public void setFrameRenderDelayMs(int frameRenderDelayMs)

      Sets the frame render delay (ms).
      Parameters:
        `frameRenderDelayMs` - Frame render delay (ms)

    - #### getTotalActiveTime

          public long getTotalActiveTime()

      Gets the total active time (ms).
      Returns:
        Total active time (ms)

    - #### setTotalActiveTime

          public void setTotalActiveTime(long totalActiveTime)

      Sets the total active time (ms).
      Parameters:
        `totalActiveTime` - Total active time (ms)

    - #### getPublishDuration

          public long getPublishDuration()

      Gets the publish duration (ms).
      Returns:
        Publish duration (ms)

    - #### setPublishDuration

          public void setPublishDuration(long publishDuration)

      Sets the publish duration (ms).
      Parameters:
        `publishDuration` - Publish duration (ms)

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`