Agora C++ API Reference for All Platforms
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
agora::rtc::ILocalVideoTrackEx Class Referenceabstract

Inherits agora::rtc::ILocalVideoTrack, and VideoLocalTrackControlAspect.

Classes

struct  AttachInfo
 
struct  CaptureModeItem
 
struct  DetachInfo
 
struct  RsfecConfig
 

Public Types

enum  DetachReason { MANUAL, TRACK_DESTROY, NETWORK_DESTROY, CODEC_CHANGE }
 

Public Member Functions

 ILocalVideoTrackEx ()
 
virtual ~ILocalVideoTrackEx ()
 
virtual bool hasPublished ()=0
 
virtual int setVideoEncoderConfigurationEx (const VideoEncoderConfiguration &config, utils::ConfigPriority priority=utils::CONFIG_PRIORITY_USER)=0
 
virtual int SetVideoConfigEx (int index, const VideoConfigurationEx &configEx, utils::ConfigPriority priority=utils::CONFIG_PRIORITY_USER)=0
 
virtual int ResetVideoConfigExByPriority (utils::ConfigPriority priority)=0
 
virtual int GetConfigExs (std::unordered_map< int, VideoConfigurationEx > &configs, bool include_disable_config=false)=0
 
virtual int GetVideoProfileAutoAdjsut (std::string &config_video_profile, std::string &actual_video_profile)=0
 
virtual int GetCaptureMode (CaptureModeItem &captureModeOut)=0
 
virtual void RequestKeyFrame (VIDEO_STREAM_TYPE type, bool is_quick_intra_request, bool internal)
 
virtual void AddVideoAvailabilityIndicatorEvents (VideoAvailabilityIndicator event)
 
virtual void GetVideoAvailabilityIndicatorEvents (std::vector< VideoAvailabilityIndicator > &events)
 
virtual int setUserId (uid_t uid)
 
virtual uid_t getUserId ()
 
virtual int GetActiveStreamsCount ()=0
 
virtual int prepareNodes (const char *id=nullptr)=0
 
virtual bool attach (const AttachInfo &info)=0
 
virtual bool detach (const DetachInfo &info)=0
 
virtual bool registerTrackObserver (std::shared_ptr< IVideoTrackObserver > observer)
 
virtual bool unregisterTrackObserver (IVideoTrackObserver *observer)
 
virtual bool getStatisticsEx (LocalVideoTrackStatsEx &statsEx)
 
virtual int32_t Width () const =0
 
virtual int32_t Height () const =0
 
virtual void getBillingVideoProfile (int32_t &w, int32_t &h, int32_t &frame_rate)
 
virtual bool Enabled () const =0
 
virtual int addVideoWatermark (const char *watermarkUrl, const WatermarkOptions &options)
 
virtual int clearVideoWatermarks ()
 
virtual InternalVideoSourceType getInternalVideoSourceType ()
 
virtual rtc::VideoEncoderConfiguration getVideoEncoderConfiguration ()
 
virtual bool getVideoTextureCopyStatus (VideoTextureCopyParam &param)
 
virtual void getSimucastStreamConfig (SimulcastConfigInternal &simu_stream_config)
 
virtual void getSimucastStreamStatus (SIMULCAST_STREAM_MODE &mode, bool &enable)
 
virtual void getBillingVideoProfileWithSimulcast (bool &enable, SimulcastConfigInternal &simu_config)
 
virtual int updateContentHint (VIDEO_CONTENT_HINT contentHint)
 
virtual int updateScreenCaptureScenario (SCREEN_SCENARIO_TYPE screenScenario)
 
int TrackId () const
 
virtual int registerVideoEncodedImageReceiver (media::IVideoEncodedFrameObserver *videoReceiver)
 
virtual int unregisterVideoEncodedImageReceiver (media::IVideoEncodedFrameObserver *videoReceiver)
 
virtual int setLocalVideoSend (bool send)=0
 
virtual bool ClearPriorityDeviceVideoConfigs ()
 
virtual int getCodecType ()=0
 
virtual void setVideoDumpMode (int mode, bool enabled, int frame_cnt=-1)
 
virtual bool NegotiateCodec (uint8_t negotiated_video_decode_caps)
 
virtual void onVideoModuleStatus (std::string node_name, int type)
 
virtual int onRequestEnableSimulcastStream ()
 
virtual bool getIsAttachedToNetwork ()
 
virtual bool isVideoFilterEnabled (const char *id)
 
virtual void ReconfigureFecMethod (int fec_method, int dmec_version, int fec_mul_rdc)
 
virtual void ReconfigureCaptureDelayMs (int video_capture_delay_ms)
 
virtual bool setEncoderTemporlayers (int temporlayersNum)
 
virtual bool setH264BframeNumber (int bframeNum)
 
virtual bool enableMinorStreamPeriodicKeyFrame ()
 
virtual void registerProactiveCaller (const std::shared_ptr< rtc::ProactiveCaller > &configurator)
 
virtual void unregisterProactiveCaller ()
 
virtual void registerModuleControlPanel (std::shared_ptr< rtc::IModuleControlPanel > panel)
 
virtual void unregisterModuleControlPanel ()
 
virtual int setEnabledLLApiInternal (bool enable, bool action_droppable=true)=0
 
virtual LOCAL_VIDEO_STREAM_STATE getStateLLApiInternal ()=0
 
virtual int setSimulcastStreamModeLLApiInternal (SIMULCAST_STREAM_MODE mode, const SimulcastConfigInternal &simu_config)=0
 
virtual int setVideoEncoderConfigurationLLApiInternal (const rtc::VideoEncoderConfiguration &config)=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)=0
 
virtual bool removeRendererLLApiInternal (agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position)=0
 
virtual bool getStatisticsLLApiInternal (LocalVideoTrackStats &stats)=0
 
virtual int enableVideoFilterLLApiInternal (const char *id, bool enable)
 
virtual int setFilterPropertyLLApiInternal (const char *id, const char *key, const char *json_value)
 
virtual int getFilterPropertyLLApiInternal (const char *id, const char *key, char *json_value, size_t buf_size)
 
- Public Member Functions inherited from agora::rtc::ILocalVideoTrack
virtual int setEnabled (bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
 
virtual int setVideoEncoderConfiguration (const VideoEncoderConfiguration &config, aosl_ref_t ares=AOSL_REF_INVALID)=0
 
virtual int setSimulcastStreamMode (SIMULCAST_STREAM_MODE mode, const SimulcastConfigInternal &config, aosl_ref_t ares=AOSL_REF_INVALID)=0
 
virtual LOCAL_VIDEO_STREAM_STATE getState ()=0
 
virtual bool getStatistics (LocalVideoTrackStats &stats)=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

const int id_
 
utils::WeakObserversFacility< IVideoTrackObservertrack_observers_
 
uid_t user_id_
 

Additional Inherited Members

- Protected Member Functions inherited from agora::rtc::ILocalVideoTrack
 ~ILocalVideoTrack ()
 
- Protected Member Functions inherited from agora::rtc::IVideoTrack
 ~IVideoTrack ()
 
- Protected Member Functions inherited from agora::RefCountInterface
virtual ~RefCountInterface ()
 

Member Enumeration Documentation

◆ DetachReason

Enumerator
MANUAL 
TRACK_DESTROY 
NETWORK_DESTROY 
CODEC_CHANGE 

Constructor & Destructor Documentation

◆ ILocalVideoTrackEx()

agora::rtc::ILocalVideoTrackEx::ILocalVideoTrackEx ( )
inline

◆ ~ILocalVideoTrackEx()

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

Member Function Documentation

◆ hasPublished()

virtual bool agora::rtc::ILocalVideoTrackEx::hasPublished ( )
pure virtual

◆ setVideoEncoderConfigurationEx()

virtual int agora::rtc::ILocalVideoTrackEx::setVideoEncoderConfigurationEx ( const VideoEncoderConfiguration config,
utils::ConfigPriority  priority = utils::CONFIG_PRIORITY_USER 
)
pure virtual

◆ SetVideoConfigEx()

virtual int agora::rtc::ILocalVideoTrackEx::SetVideoConfigEx ( int  index,
const VideoConfigurationEx configEx,
utils::ConfigPriority  priority = utils::CONFIG_PRIORITY_USER 
)
pure virtual

◆ ResetVideoConfigExByPriority()

virtual int agora::rtc::ILocalVideoTrackEx::ResetVideoConfigExByPriority ( utils::ConfigPriority  priority)
pure virtual

◆ GetConfigExs()

virtual int agora::rtc::ILocalVideoTrackEx::GetConfigExs ( std::unordered_map< int, VideoConfigurationEx > &  configs,
bool  include_disable_config = false 
)
pure virtual

◆ GetVideoProfileAutoAdjsut()

virtual int agora::rtc::ILocalVideoTrackEx::GetVideoProfileAutoAdjsut ( std::string &  config_video_profile,
std::string &  actual_video_profile 
)
pure virtual

◆ GetCaptureMode()

virtual int agora::rtc::ILocalVideoTrackEx::GetCaptureMode ( CaptureModeItem captureModeOut)
pure virtual

◆ RequestKeyFrame()

virtual void agora::rtc::ILocalVideoTrackEx::RequestKeyFrame ( VIDEO_STREAM_TYPE  type,
bool  is_quick_intra_request,
bool  internal 
)
inlinevirtual

◆ AddVideoAvailabilityIndicatorEvents()

virtual void agora::rtc::ILocalVideoTrackEx::AddVideoAvailabilityIndicatorEvents ( VideoAvailabilityIndicator  event)
inlinevirtual

◆ GetVideoAvailabilityIndicatorEvents()

virtual void agora::rtc::ILocalVideoTrackEx::GetVideoAvailabilityIndicatorEvents ( std::vector< VideoAvailabilityIndicator > &  events)
inlinevirtual

◆ setUserId()

virtual int agora::rtc::ILocalVideoTrackEx::setUserId ( uid_t  uid)
inlinevirtual

◆ getUserId()

virtual uid_t agora::rtc::ILocalVideoTrackEx::getUserId ( )
inlinevirtual

◆ GetActiveStreamsCount()

virtual int agora::rtc::ILocalVideoTrackEx::GetActiveStreamsCount ( )
pure virtual

◆ prepareNodes()

virtual int agora::rtc::ILocalVideoTrackEx::prepareNodes ( const char *  id = nullptr)
pure virtual

◆ attach()

virtual bool agora::rtc::ILocalVideoTrackEx::attach ( const AttachInfo info)
pure virtual

◆ detach()

virtual bool agora::rtc::ILocalVideoTrackEx::detach ( const DetachInfo info)
pure virtual

◆ registerTrackObserver()

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

◆ unregisterTrackObserver()

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

◆ getStatisticsEx()

virtual bool agora::rtc::ILocalVideoTrackEx::getStatisticsEx ( LocalVideoTrackStatsEx statsEx)
inlinevirtual

◆ Width()

virtual int32_t agora::rtc::ILocalVideoTrackEx::Width ( ) const
pure virtual

◆ Height()

virtual int32_t agora::rtc::ILocalVideoTrackEx::Height ( ) const
pure virtual

◆ getBillingVideoProfile()

virtual void agora::rtc::ILocalVideoTrackEx::getBillingVideoProfile ( int32_t &  w,
int32_t &  h,
int32_t &  frame_rate 
)
inlinevirtual

◆ Enabled()

virtual bool agora::rtc::ILocalVideoTrackEx::Enabled ( ) const
pure virtual

◆ addVideoWatermark()

virtual int agora::rtc::ILocalVideoTrackEx::addVideoWatermark ( const char *  watermarkUrl,
const WatermarkOptions options 
)
inlinevirtual

◆ clearVideoWatermarks()

virtual int agora::rtc::ILocalVideoTrackEx::clearVideoWatermarks ( )
inlinevirtual

◆ getInternalVideoSourceType()

virtual InternalVideoSourceType agora::rtc::ILocalVideoTrackEx::getInternalVideoSourceType ( )
inlinevirtual

◆ getVideoEncoderConfiguration()

virtual rtc::VideoEncoderConfiguration agora::rtc::ILocalVideoTrackEx::getVideoEncoderConfiguration ( )
inlinevirtual

◆ getVideoTextureCopyStatus()

virtual bool agora::rtc::ILocalVideoTrackEx::getVideoTextureCopyStatus ( VideoTextureCopyParam &  param)
inlinevirtual

◆ getSimucastStreamConfig()

virtual void agora::rtc::ILocalVideoTrackEx::getSimucastStreamConfig ( SimulcastConfigInternal simu_stream_config)
inlinevirtual

◆ getSimucastStreamStatus()

virtual void agora::rtc::ILocalVideoTrackEx::getSimucastStreamStatus ( SIMULCAST_STREAM_MODE mode,
bool &  enable 
)
inlinevirtual

◆ getBillingVideoProfileWithSimulcast()

virtual void agora::rtc::ILocalVideoTrackEx::getBillingVideoProfileWithSimulcast ( bool &  enable,
SimulcastConfigInternal simu_config 
)
inlinevirtual

◆ updateContentHint()

virtual int agora::rtc::ILocalVideoTrackEx::updateContentHint ( VIDEO_CONTENT_HINT  contentHint)
inlinevirtual

◆ updateScreenCaptureScenario()

virtual int agora::rtc::ILocalVideoTrackEx::updateScreenCaptureScenario ( SCREEN_SCENARIO_TYPE  screenScenario)
inlinevirtual

◆ TrackId()

int agora::rtc::ILocalVideoTrackEx::TrackId ( ) const
inline

◆ registerVideoEncodedImageReceiver()

virtual int agora::rtc::ILocalVideoTrackEx::registerVideoEncodedImageReceiver ( media::IVideoEncodedFrameObserver videoReceiver)
inlinevirtual

◆ unregisterVideoEncodedImageReceiver()

virtual int agora::rtc::ILocalVideoTrackEx::unregisterVideoEncodedImageReceiver ( media::IVideoEncodedFrameObserver videoReceiver)
inlinevirtual

◆ setLocalVideoSend()

virtual int agora::rtc::ILocalVideoTrackEx::setLocalVideoSend ( bool  send)
pure virtual

◆ ClearPriorityDeviceVideoConfigs()

virtual bool agora::rtc::ILocalVideoTrackEx::ClearPriorityDeviceVideoConfigs ( )
inlinevirtual

◆ getCodecType()

virtual int agora::rtc::ILocalVideoTrackEx::getCodecType ( )
pure virtual

◆ setVideoDumpMode()

virtual void agora::rtc::ILocalVideoTrackEx::setVideoDumpMode ( int  mode,
bool  enabled,
int  frame_cnt = -1 
)
inlinevirtual

◆ NegotiateCodec()

virtual bool agora::rtc::ILocalVideoTrackEx::NegotiateCodec ( uint8_t  negotiated_video_decode_caps)
inlinevirtual

◆ onVideoModuleStatus()

virtual void agora::rtc::ILocalVideoTrackEx::onVideoModuleStatus ( std::string  node_name,
int  type 
)
inlinevirtual

◆ onRequestEnableSimulcastStream()

virtual int agora::rtc::ILocalVideoTrackEx::onRequestEnableSimulcastStream ( )
inlinevirtual

◆ getIsAttachedToNetwork()

virtual bool agora::rtc::ILocalVideoTrackEx::getIsAttachedToNetwork ( )
inlinevirtual

◆ isVideoFilterEnabled()

virtual bool agora::rtc::ILocalVideoTrackEx::isVideoFilterEnabled ( const char *  id)
inlinevirtual

◆ ReconfigureFecMethod()

virtual void agora::rtc::ILocalVideoTrackEx::ReconfigureFecMethod ( int  fec_method,
int  dmec_version,
int  fec_mul_rdc 
)
inlinevirtual

◆ ReconfigureCaptureDelayMs()

virtual void agora::rtc::ILocalVideoTrackEx::ReconfigureCaptureDelayMs ( int  video_capture_delay_ms)
inlinevirtual

◆ setEncoderTemporlayers()

virtual bool agora::rtc::ILocalVideoTrackEx::setEncoderTemporlayers ( int  temporlayersNum)
inlinevirtual

◆ setH264BframeNumber()

virtual bool agora::rtc::ILocalVideoTrackEx::setH264BframeNumber ( int  bframeNum)
inlinevirtual

◆ enableMinorStreamPeriodicKeyFrame()

virtual bool agora::rtc::ILocalVideoTrackEx::enableMinorStreamPeriodicKeyFrame ( )
inlinevirtual

◆ registerProactiveCaller()

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

◆ unregisterProactiveCaller()

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

◆ registerModuleControlPanel()

virtual void agora::rtc::ILocalVideoTrackEx::registerModuleControlPanel ( std::shared_ptr< rtc::IModuleControlPanel >  panel)
inlinevirtual

◆ unregisterModuleControlPanel()

virtual void agora::rtc::ILocalVideoTrackEx::unregisterModuleControlPanel ( )
inlinevirtual

◆ setEnabledLLApiInternal()

virtual int agora::rtc::ILocalVideoTrackEx::setEnabledLLApiInternal ( bool  enable,
bool  action_droppable = true 
)
pure virtual

◆ getStateLLApiInternal()

virtual LOCAL_VIDEO_STREAM_STATE agora::rtc::ILocalVideoTrackEx::getStateLLApiInternal ( )
pure virtual

◆ setSimulcastStreamModeLLApiInternal()

virtual int agora::rtc::ILocalVideoTrackEx::setSimulcastStreamModeLLApiInternal ( SIMULCAST_STREAM_MODE  mode,
const SimulcastConfigInternal simu_config 
)
pure virtual

◆ setVideoEncoderConfigurationLLApiInternal()

virtual int agora::rtc::ILocalVideoTrackEx::setVideoEncoderConfigurationLLApiInternal ( const rtc::VideoEncoderConfiguration config)
pure virtual

◆ addVideoFilterLLApiInternal()

virtual bool agora::rtc::ILocalVideoTrackEx::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::ILocalVideoTrackEx::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::ILocalVideoTrackEx::hasVideoFilterLLApiInternal ( const char *  id,
media::base::VIDEO_MODULE_POSITION  position 
)
pure virtual

◆ addRendererLLApiInternal()

virtual bool agora::rtc::ILocalVideoTrackEx::addRendererLLApiInternal ( agora_refptr< IVideoSinkBase videoRenderer,
media::base::VIDEO_MODULE_POSITION  position 
)
pure virtual

◆ removeRendererLLApiInternal()

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

◆ getStatisticsLLApiInternal()

virtual bool agora::rtc::ILocalVideoTrackEx::getStatisticsLLApiInternal ( LocalVideoTrackStats stats)
pure virtual

◆ enableVideoFilterLLApiInternal()

virtual int agora::rtc::ILocalVideoTrackEx::enableVideoFilterLLApiInternal ( const char *  id,
bool  enable 
)
inlinevirtual

◆ setFilterPropertyLLApiInternal()

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

◆ getFilterPropertyLLApiInternal()

virtual int agora::rtc::ILocalVideoTrackEx::getFilterPropertyLLApiInternal ( const char *  id,
const char *  key,
char *  json_value,
size_t  buf_size 
)
inlinevirtual

Member Data Documentation

◆ id_

const int agora::rtc::ILocalVideoTrackEx::id_
protected

◆ track_observers_

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

◆ user_id_

uid_t agora::rtc::ILocalVideoTrackEx::user_id_
protected