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.

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)
 
- 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)=0
 
virtual int unregisterVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *encodedObserver)=0
 
virtual int registerMediaPacketReceiver (IMediaPacketReceiver *videoReceiver)=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)=0
 
virtual bool removeVideoFilter (agora_refptr< IVideoFilter > filter, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_CAPTURER, const char *id=NULL)=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=media::base::POSITION_PRE_RENDERER)=0
 
virtual bool removeRenderer (agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_PRE_RENDERER)=0
 
virtual int enableVideoFilter (const char *id, bool enable)
 
virtual int setFilterProperty (const char *id, const char *key, const char *json_value)
 
virtual int getFilterProperty (const char *id, const char *key, char *json_value, size_t buf_size)
 
- 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::WeakObservers< 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

Member Data Documentation

◆ track_observers_

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