Agora RTC Objective-C API Reference  Refactor
Public Member Functions
ILocalVideoTrack Class Referenceabstract

Inherits IVideoTrack.

Public Member Functions

virtual void setEnabled (bool enable)=0
 
virtual int setVideoEncoderConfiguration (const VideoEncoderConfiguration &config)=0
 
virtual int enableSimulcastStream (bool enabled, const SimulcastStreamConfig &config)=0
 
virtual int updateSimulcastStreamConfig (const SimulcastStreamConfig &config)=0
 
virtual LOCAL_VIDEO_STREAM_STATE getState ()=0
 
virtual bool getStatistics (LocalVideoTrackStats &stats)=0
 
virtual VideoTrackType getType () OPTIONAL_OVERRIDE
 
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_POST_FILTERS)=0
 
virtual bool removeRenderer (agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_FILTERS)=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)
 

Detailed Description

ILocalVideoTrack is the basic class for local video tracks, providing the main methods of local video tracks. You can create a local video track by calling one of the following methods:

After creating local video tracks, you can publish one or more local video tracks by calling publishVideo.

Constructor & Destructor Documentation

◆ ~ILocalVideoTrack()

~ILocalVideoTrack ( )
inlineprotected

Member Function Documentation

◆ setEnabled()

virtual void setEnabled ( bool  enable)
pure virtual

Enables or disables the local video track.

Once the local video track is enabled, the SDK allows for local video capturing, processing, and encoding.

Parameters
enableDetermines whether to enable the local video track.
  • true: Enable the local video track.
  • false: Disable the local video track.

◆ setVideoEncoderConfiguration()

virtual int setVideoEncoderConfiguration ( const VideoEncoderConfiguration config)
pure virtual

Sets the video encoder configuration.

Each video encoder configuration corresponds to a set of video parameters, including the resolution, frame rate, bitrate, and video orientation.

The configurations specified in this method are the maximum values under ideal network conditions. If the video engine cannot render the video using the specified parameters due to poor network conditions, the configurations further down the list are considered until a successful configuration is found.

Parameters
configThe reference to the video encoder configuration. See VideoEncoderConfiguration.
Returns
  • 0: Success.
  • < 0: Failure.

◆ enableSimulcastStream()

virtual int enableSimulcastStream ( bool  enabled,
const SimulcastStreamConfig config 
)
pure virtual

Enables or disables the simulcast stream mode.

Parameters
enabledDetermines whether to enable or disable the simulcast stream mode.
  • true: Enable the simulcast stream mode.
  • false: Disable the simulcast stream mode.
configThe reference to the configurations for the simulcast stream mode. See SimulcastStreamConfig.
Returns
  • 0: Success.
  • < 0: Failure.

◆ updateSimulcastStreamConfig()

virtual int updateSimulcastStreamConfig ( const SimulcastStreamConfig config)
pure virtual

Update simulcast stream config.

Parameters
configThe reference to the configurations for the simulcast stream mode. See SimulcastStreamConfig.
Returns
  • 0: Success.
  • < 0: Failure.
    • This function can be called when both VideoTrack and SimulcastStream are enabled,otherwise returns -ERR_INVALID_STATE.

◆ getState()

virtual LOCAL_VIDEO_STREAM_STATE getState ( )
pure virtual

Gets the state of the local video stream.

Returns
The current state of the local video stream.

◆ getStatistics()

virtual bool getStatistics ( LocalVideoTrackStats stats)
pure virtual

Gets the statistics of the local video track.

Parameters
[out]statsThe reference to the statistics of the local video track.
Returns
  • true: Success.
  • false: Failure.

◆ getType()

virtual VideoTrackType getType ( )
inlinevirtual

Get the track type of the video track

Returns
  • VideoTrackType

Implements IVideoTrack.

◆ addVideoFilter()

virtual bool addVideoFilter ( agora_refptr< IVideoFilter filter,
media::base::VIDEO_MODULE_POSITION  position = media::base::POSITION_POST_CAPTURER,
const char *  id = NULL 
)
pure virtualinherited

Adds a video filter to the video track.

Add a video filter in either of the following ways:

To add multiple filters, call this method multiple times. The order of the added filters depends on when the app successfully adds the filter.

Parameters
filterThe video filter that you want to add to the video track.
positionThe position where the filter is added.
idid of the filter
Returns
  • true: The video filter is added successfully.
  • false: The video filter fails to be added.

◆ removeVideoFilter()

virtual bool removeVideoFilter ( agora_refptr< IVideoFilter filter,
media::base::VIDEO_MODULE_POSITION  position = media::base::POSITION_POST_CAPTURER,
const char *  id = NULL 
)
pure virtualinherited

Removes the video filter added by addVideoFilter from the video track.

Parameters
filterThe video filter that you want to remove: IVideoFilter.
positionThe position of the filter. @id id of the filter
Returns
  • true: The video filter is removed successfully.
  • false: The video filter fails to be removed.

◆ hasVideoFilter()

virtual bool hasVideoFilter ( const char *  id,
media::base::VIDEO_MODULE_POSITION  position = media::base::POSITION_POST_CAPTURER 
)
pure virtualinherited

Whether a video filter exists

Parameters
idid of the filter
Returns
  • true: exist
  • false: not exist

◆ addRenderer()

virtual bool addRenderer ( agora_refptr< IVideoSinkBase videoRenderer,
media::base::VIDEO_MODULE_POSITION  position = media::base::POSITION_POST_FILTERS 
)
pure virtualinherited

Adds a video renderer to the video track.

Add a video renderer in either of the following ways:

Parameters
videoRendererThe video renderer that you want to add: IVideoSinkBase.
positionThe position where the renderer is added.
Returns
  • true: The video renderer is added successfully.
  • false: The video renderer fails to be added.

◆ removeRenderer()

virtual bool removeRenderer ( agora_refptr< IVideoSinkBase videoRenderer,
media::base::VIDEO_MODULE_POSITION  position = media::base::POSITION_POST_FILTERS 
)
pure virtualinherited

Removes the video renderer added by addRenderer from the video track.

Parameters
videoRendererThe video renderer that you want to remove: IVideoSinkBase.
positionThe position where the renderer is removed: VIDEO_MODULE_POSITION.
Returns
  • true: The video renderer is removed successfully.
  • false: The video renderer fails to be removed.

◆ enableVideoFilter()

virtual int enableVideoFilter ( const char *  id,
bool  enable 
)
inlinevirtualinherited

Enable / Disable specified video filter

Parameters
idid of the filter
enableenable / disable the filter with given id
Returns
  • 0: success
  • <0: failure

◆ setFilterProperty()

virtual int setFilterProperty ( const char *  id,
const char *  key,
const char *  json_value 
)
inlinevirtualinherited

set the properties of the specified video filter

Parameters
idid of the filter
keykey of the property
json_valuejson str value of the property
Returns
  • 0: success
  • <0: failure

◆ getFilterProperty()

virtual int getFilterProperty ( const char *  id,
const char *  key,
char *  json_value,
size_t  buf_size 
)
inlinevirtualinherited

get the properties of the specified video filter

Parameters
idid of the filter
keykey of the property
json_valuejson str value of the property
Returns
  • 0: success
  • <0: failure

◆ AddRef()

virtual void AddRef ( ) const
pure virtualinherited

◆ Release()

virtual RefCountReleaseStatus Release ( ) const
pure virtualinherited

◆ HasOneRef()

virtual bool HasOneRef ( ) const
pure virtualinherited