io.agora.rtc

## Class AgoraRemoteVideoTrack

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

-     public class AgoraRemoteVideoTrack
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private long` | `cptr`
    `private IMediaPacketReceiver` | `mediaPacketReceiver`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AgoraRemoteVideoTrack(long cptr)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `destroy()` Destroys the remote video track.
    `void` | `destroyStatistics(RemoteVideoTrackStats stats)`
    `void` | `destroyTrackInfo(VideoTrackInfo info)`
    `long` | `getNativeHandle()` Gets the native handle of the remote video track.
    `int` | `getState()`
    `RemoteVideoTrackStats` | `getStatistics()`
    `VideoTrackInfo` | `getTrackInfo()`
    `private void` | `nativeDestroy(long cptr)`
    `private void` | `nativeDestroyStatistics(long cptr, RemoteVideoTrackStats stats)`
    `private void` | `nativeDestroyTrackInfo(long cptr, VideoTrackInfo info)`
    `private int` | `nativeGetState(long cptr)`
    `private RemoteVideoTrackStats` | `nativeGetStatistics(long cptr)`
    `private VideoTrackInfo` | `nativeGetTrackInfo(long cptr)`
    `private int` | `nativeRegisterMediaPacketReceiver(long cptr, IMediaPacketReceiver agoraMediaPacketReceiver)`
    `private int` | `nativeRegisterVideoEncodedImageReceiver(long cptr, AgoraVideoEncodedImageReceiver agoraVideoEncodedImageReceiver)`
    `private int` | `nativeUnregisterMediaPacketReceiver(long cptr, IMediaPacketReceiver agoraMediaPacketReceiver)`
    `private int` | `nativeUnregisterVideoEncodedImageReceiver(long cptr, AgoraVideoEncodedImageReceiver agoraVideoEncodedImageReceiver)`
    `int` | `registerMediaPacketReceiver(IMediaPacketReceiver agoraMediaPacketReceiver)`
    `int` | `registerVideoEncodedImageReceiver(AgoraVideoEncodedImageReceiver agoraVideoEncodedImageReceiver)`
    `int` | `unregisterMediaPacketReceiver(IMediaPacketReceiver agoraMediaPacketReceiver)`
    `int` | `unregisterVideoEncodedImageReceiver(AgoraVideoEncodedImageReceiver agoraVideoEncodedImageReceiver)`

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

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

- - ### Field Detail

    - #### cptr

          private long cptr

    - #### mediaPacketReceiver

          private IMediaPacketReceiver mediaPacketReceiver

  - ### Constructor Detail

    - #### AgoraRemoteVideoTrack

          public AgoraRemoteVideoTrack(long cptr)

  - ### Method Detail

    - #### getNativeHandle

          public long getNativeHandle()

      Gets the native handle of the remote video track.
      Returns:
        The native handle of the remote video track.

    - #### destroy

          public void destroy()

      Destroys the remote video track. Ensures that the native resources are released.

    - #### getStatistics

          public RemoteVideoTrackStats getStatistics()

    - #### destroyStatistics

          public void destroyStatistics(RemoteVideoTrackStats stats)

    - #### getState

          public int getState()

    - #### getTrackInfo

          public VideoTrackInfo getTrackInfo()

    - #### destroyTrackInfo

          public void destroyTrackInfo(VideoTrackInfo info)

    - #### registerVideoEncodedImageReceiver

          public int registerVideoEncodedImageReceiver(AgoraVideoEncodedImageReceiver agoraVideoEncodedImageReceiver)

    - #### unregisterVideoEncodedImageReceiver

          public int unregisterVideoEncodedImageReceiver(AgoraVideoEncodedImageReceiver agoraVideoEncodedImageReceiver)

    - #### registerMediaPacketReceiver

          public int registerMediaPacketReceiver(IMediaPacketReceiver agoraMediaPacketReceiver)

    - #### unregisterMediaPacketReceiver

          public int unregisterMediaPacketReceiver(IMediaPacketReceiver agoraMediaPacketReceiver)

    - #### nativeDestroy

          private void nativeDestroy(long cptr)

    - #### nativeGetStatistics

          private RemoteVideoTrackStats nativeGetStatistics(long cptr)

    - #### nativeDestroyStatistics

          private void nativeDestroyStatistics(long cptr,
                                               RemoteVideoTrackStats stats)

    - #### nativeGetState

          private int nativeGetState(long cptr)

    - #### nativeGetTrackInfo

          private VideoTrackInfo nativeGetTrackInfo(long cptr)

    - #### nativeDestroyTrackInfo

          private void nativeDestroyTrackInfo(long cptr,
                                              VideoTrackInfo info)

    - #### nativeRegisterVideoEncodedImageReceiver

          private int nativeRegisterVideoEncodedImageReceiver(long cptr,
                                                              AgoraVideoEncodedImageReceiver agoraVideoEncodedImageReceiver)

    - #### nativeUnregisterVideoEncodedImageReceiver

          private int nativeUnregisterVideoEncodedImageReceiver(long cptr,
                                                                AgoraVideoEncodedImageReceiver agoraVideoEncodedImageReceiver)

    - #### nativeRegisterMediaPacketReceiver

          private int nativeRegisterMediaPacketReceiver(long cptr,
                                                        IMediaPacketReceiver agoraMediaPacketReceiver)

    - #### nativeUnregisterMediaPacketReceiver

          private int nativeUnregisterMediaPacketReceiver(long cptr,
                                                          IMediaPacketReceiver agoraMediaPacketReceiver)