Agora C++ API Reference for All Platforms

Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
agora::rtc::IRemoteVideoTrackEx Class Referenceabstract

Inherits agora::rtc::IRemoteVideoTrack, and VideoRemoteTrackControlAspect.

## Classes
struct | AttachInfo
struct | DetachInfo

## Public Types
enum | DetachReason { MANUAL, TRACK_DESTROY, NETWORK_DESTROY }
using | RemoteVideoEvents = StateEvents< REMOTE_VIDEO_STATE, REMOTE_VIDEO_STATE_REASON >

## Public Member Functions
| IRemoteVideoTrackEx ()=default
virtual | ~IRemoteVideoTrackEx ()
virtual uint32_t | getRemoteSsrc ()=0
virtual bool | attach (const AttachInfo &info, REMOTE_VIDEO_STATE_REASON reason)=0
virtual bool | detach (const DetachInfo &info, REMOTE_VIDEO_STATE_REASON reason)=0
virtual bool | getStatisticsEx (RemoteVideoTrackStatsEx &statsex)
virtual bool | registerTrackObserver (std::shared_ptr< IVideoTrackObserver > observer)
virtual bool | unregisterTrackObserver (IVideoTrackObserver *observer)
virtual void | registerProactiveCaller (const std::shared_ptr< ProactiveCaller > &)
virtual void | unregisterProactiveCaller ()
virtual REMOTE_VIDEO_STATE | getStateLLApiInternal ()=0
virtual bool | addVideoFilterLLApiInternal (agora_refptr< IVideoFilter > filter, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_CAPTURER, const char *id=NULL)=0
virtual bool | removeVideoFilterLLApiInternal (agora_refptr< IVideoFilter > filter, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_CAPTURER, const char *id=NULL)=0
virtual bool | hasVideoFilterLLApiInternal (const char *id, media::base::VIDEO_MODULE_POSITION position)=0
virtual bool | addRendererLLApiInternal (agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_PRE_RENDERER)=0
virtual bool | removeRendererLLApiInternal (agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position)=0
virtual bool | getStatisticsLLApiInternal (RemoteVideoTrackStats &stats)=0
virtual bool | getTrackInfoLLApiInternal (VideoTrackInfo &info)=0
virtual int | registerVideoEncodedFrameObserverLLApiInternal (agora::media::IVideoEncodedFrameObserver *encodedObserver)=0
virtual int | unregisterVideoEncodedFrameObserverLLApiInternal (agora::media::IVideoEncodedFrameObserver *encodedObserver)=0
virtual int | enableVideoFilterLLApiInternal (const char *id, bool enable)
virtual int | setFilterPropertyLLApiInternal (const char *id, const char *key, const char *json_value)
virtual int | registerMediaPacketReceiverLLApiInternal (IMediaPacketReceiver *packetReceiver)=0
virtual int | unregisterMediaPacketReceiverLLApiInternal (IMediaPacketReceiver *packetReceiver)=0
virtual void | OnRoleUpdate (CLIENT_ROLE_TYPE role)
Public Member Functions inherited from agora::rtc::IRemoteVideoTrack
virtual bool | getStatistics (RemoteVideoTrackStats &stats)=0
virtual REMOTE_VIDEO_STATE | getState ()=0
virtual bool | getTrackInfo (VideoTrackInfo &info)=0
virtual int | registerVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *encodedObserver, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *encodedObserver)=0
virtual int | registerMediaPacketReceiver (IMediaPacketReceiver *videoReceiver, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterMediaPacketReceiver (IMediaPacketReceiver *videoReceiver)=0
virtual VideoTrackType | getType () OPTIONAL_OVERRIDE
Public Member Functions inherited from agora::rtc::IVideoTrack
virtual bool | addVideoFilter (agora_refptr< IVideoFilter > filter, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_CAPTURER, const char *id=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual bool | removeVideoFilter (agora_refptr< IVideoFilter > filter, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_CAPTURER, const char *id=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual bool | hasVideoFilter (const char *id, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_CAPTURER)=0
virtual bool | addRenderer (agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual bool | removeRenderer (agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | enableVideoFilter (const char *id, bool enable, aosl_ref_t ares=AOSL_REF_INVALID)
virtual int | setFilterProperty (const char *id, const char *key, const char *json_value, aosl_ref_t ares=AOSL_REF_INVALID)
virtual int | getFilterProperty (const char *id, const char *key, char *json_value, size_t buf_size, aosl_ref_t ares=AOSL_REF_INVALID)
Public Member Functions inherited from agora::RefCountInterface
virtual void | AddRef () const =0
virtual RefCountReleaseStatus | Release () const =0
virtual bool | HasOneRef () const =0

## Protected Attributes
utils::WeakObserversFacility< IVideoTrackObserver > | track_observers_

## Additional Inherited Members
Protected Member Functions inherited from agora::rtc::IRemoteVideoTrack
| ~IRemoteVideoTrack ()
Protected Member Functions inherited from agora::rtc::IVideoTrack
| ~IVideoTrack ()
Protected Member Functions inherited from agora::RefCountInterface
virtual | ~RefCountInterface ()

## Member Typedef Documentation

## ◆ RemoteVideoEvents

using agora::rtc::IRemoteVideoTrackEx::RemoteVideoEvents = StateEvents<REMOTE_VIDEO_STATE, REMOTE_VIDEO_STATE_REASON>

## Member Enumeration Documentation

## ◆ DetachReason

enum agora::rtc::IRemoteVideoTrackEx::DetachReason

Enumerator
MANUAL |
TRACK_DESTROY |
NETWORK_DESTROY |

## Constructor & Destructor Documentation

## ◆ IRemoteVideoTrackEx()

agora::rtc::IRemoteVideoTrackEx::IRemoteVideoTrackEx | ( |  | ) |
| default

## ◆ ~IRemoteVideoTrackEx()

virtual agora::rtc::IRemoteVideoTrackEx::~IRemoteVideoTrackEx | ( |  | ) |
| inline virtual

## Member Function Documentation

## ◆ getRemoteSsrc()

virtual uint32_t agora::rtc::IRemoteVideoTrackEx::getRemoteSsrc | ( |  | ) |
| pure virtual

## ◆ attach()

virtual bool agora::rtc::IRemoteVideoTrackEx::attach | ( | const AttachInfo & | info,
|  | REMOTE_VIDEO_STATE_REASON | reason
| ) |  |
| pure virtual

## ◆ detach()

virtual bool agora::rtc::IRemoteVideoTrackEx::detach | ( | const DetachInfo & | info,
|  | REMOTE_VIDEO_STATE_REASON | reason
| ) |  |
| pure virtual

## ◆ getStatisticsEx()

virtual bool agora::rtc::IRemoteVideoTrackEx::getStatisticsEx | ( | RemoteVideoTrackStatsEx & | statsex | ) |
| inline virtual

## ◆ registerTrackObserver()

virtual bool agora::rtc::IRemoteVideoTrackEx::registerTrackObserver | ( | std::shared_ptr< IVideoTrackObserver > | observer | ) |
| inline virtual

## ◆ unregisterTrackObserver()

virtual bool agora::rtc::IRemoteVideoTrackEx::unregisterTrackObserver | ( | IVideoTrackObserver * | observer | ) |
| inline virtual

## ◆ registerProactiveCaller()

virtual void agora::rtc::IRemoteVideoTrackEx::registerProactiveCaller | ( | const std::shared_ptr< ProactiveCaller > & |  | ) |
| inline virtual

## ◆ unregisterProactiveCaller()

virtual void agora::rtc::IRemoteVideoTrackEx::unregisterProactiveCaller | ( |  | ) |
| inline virtual

## ◆ getStateLLApiInternal()

virtual REMOTE_VIDEO_STATE agora::rtc::IRemoteVideoTrackEx::getStateLLApiInternal | ( |  | ) |
| pure virtual

## ◆ addVideoFilterLLApiInternal()

virtual bool agora::rtc::IRemoteVideoTrackEx::addVideoFilterLLApiInternal | ( | agora_refptr< IVideoFilter > | filter,
|  | media::base::VIDEO_MODULE_POSITION | position = `media::base::POSITION_POST_CAPTURER`,
|  | const char * | id = `NULL`
| ) |  |
| pure virtual

## ◆ removeVideoFilterLLApiInternal()

virtual bool agora::rtc::IRemoteVideoTrackEx::removeVideoFilterLLApiInternal | ( | agora_refptr< IVideoFilter > | filter,
|  | media::base::VIDEO_MODULE_POSITION | position = `media::base::POSITION_POST_CAPTURER`,
|  | const char * | id = `NULL`
| ) |  |
| pure virtual

## ◆ hasVideoFilterLLApiInternal()

virtual bool agora::rtc::IRemoteVideoTrackEx::hasVideoFilterLLApiInternal | ( | const char * | id,
|  | media::base::VIDEO_MODULE_POSITION | position
| ) |  |
| pure virtual

## ◆ addRendererLLApiInternal()

virtual bool agora::rtc::IRemoteVideoTrackEx::addRendererLLApiInternal | ( | agora_refptr< IVideoSinkBase > | videoRenderer,
|  | media::base::VIDEO_MODULE_POSITION | position = `media::base::POSITION_PRE_RENDERER`
| ) |  |
| pure virtual

## ◆ removeRendererLLApiInternal()

virtual bool agora::rtc::IRemoteVideoTrackEx::removeRendererLLApiInternal | ( | agora_refptr< IVideoSinkBase > | videoRenderer,
|  | media::base::VIDEO_MODULE_POSITION | position
| ) |  |
| pure virtual

## ◆ getStatisticsLLApiInternal()

virtual bool agora::rtc::IRemoteVideoTrackEx::getStatisticsLLApiInternal | ( | RemoteVideoTrackStats & | stats | ) |
| pure virtual

## ◆ getTrackInfoLLApiInternal()

virtual bool agora::rtc::IRemoteVideoTrackEx::getTrackInfoLLApiInternal | ( | VideoTrackInfo & | info | ) |
| pure virtual

## ◆ registerVideoEncodedFrameObserverLLApiInternal()

virtual int agora::rtc::IRemoteVideoTrackEx::registerVideoEncodedFrameObserverLLApiInternal | ( | agora::media::IVideoEncodedFrameObserver * | encodedObserver | ) |
| pure virtual

## ◆ unregisterVideoEncodedFrameObserverLLApiInternal()

virtual int agora::rtc::IRemoteVideoTrackEx::unregisterVideoEncodedFrameObserverLLApiInternal | ( | agora::media::IVideoEncodedFrameObserver * | encodedObserver | ) |
| pure virtual

## ◆ enableVideoFilterLLApiInternal()

virtual int agora::rtc::IRemoteVideoTrackEx::enableVideoFilterLLApiInternal | ( | const char * | id,
|  | bool | enable
| ) |  |
| inline virtual

## ◆ setFilterPropertyLLApiInternal()

virtual int agora::rtc::IRemoteVideoTrackEx::setFilterPropertyLLApiInternal | ( | const char * | id,
|  | const char * | key,
|  | const char * | json_value
| ) |  |
| inline virtual

## ◆ registerMediaPacketReceiverLLApiInternal()

virtual int agora::rtc::IRemoteVideoTrackEx::registerMediaPacketReceiverLLApiInternal | ( | IMediaPacketReceiver * | packetReceiver | ) |
| pure virtual

## ◆ unregisterMediaPacketReceiverLLApiInternal()

virtual int agora::rtc::IRemoteVideoTrackEx::unregisterMediaPacketReceiverLLApiInternal | ( | IMediaPacketReceiver * | packetReceiver | ) |
| pure virtual

## ◆ OnRoleUpdate()

virtual void agora::rtc::IRemoteVideoTrackEx::OnRoleUpdate | ( | CLIENT_ROLE_TYPE | role | ) |
| inline virtual

## Member Data Documentation

## ◆ track_observers_

utils::WeakObserversFacility<IVideoTrackObserver> agora::rtc::IRemoteVideoTrackEx::track_observers_
| protected