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

Member Enumeration Documentation

◆ DetachReason

Enumerator
MANUAL 
TRACK_DESTROY 
NETWORK_DESTROY 

Constructor & Destructor Documentation

◆ IRemoteVideoTrackEx()

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

◆ ~IRemoteVideoTrackEx()

virtual agora::rtc::IRemoteVideoTrackEx::~IRemoteVideoTrackEx ( )
inlinevirtual

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)
inlinevirtual

◆ registerTrackObserver()

virtual bool agora::rtc::IRemoteVideoTrackEx::registerTrackObserver ( std::shared_ptr< IVideoTrackObserver observer)
inlinevirtual

◆ unregisterTrackObserver()

virtual bool agora::rtc::IRemoteVideoTrackEx::unregisterTrackObserver ( IVideoTrackObserver observer)
inlinevirtual

◆ registerProactiveCaller()

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

◆ unregisterProactiveCaller()

virtual void agora::rtc::IRemoteVideoTrackEx::unregisterProactiveCaller ( )
inlinevirtual

◆ 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 
)
inlinevirtual

◆ setFilterPropertyLLApiInternal()

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

◆ 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)
inlinevirtual

Member Data Documentation

◆ track_observers_

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