Agora RTC Objective-C API Reference
Refactor
|
Inherits IVideoFilter.
Data Structures | |
class | Control |
Public Member Functions | |
virtual void | getProcessMode (ProcessMode &mode, bool &independent_thread)=0 |
virtual int | start (agora::agora_refptr< Control > control)=0 |
virtual int | stop ()=0 |
virtual void | getVideoFormatWanted (VideoFrameData::Type &type, RawPixelBuffer::Format &format)=0 |
virtual ProcessResult | pendVideoFrame (agora::agora_refptr< IVideoFrame > frame) |
virtual ProcessResult | adaptVideoFrame (agora::agora_refptr< IVideoFrame > in, agora::agora_refptr< IVideoFrame > &out) |
virtual bool | isExtensionFilter () |
virtual bool | adaptVideoFrame (const media::base::VideoFrame &capturedFrame, media::base::VideoFrame &adaptedFrame) |
virtual void | setEnabled (bool enable) |
virtual bool | isEnabled () |
virtual int | setProperty (const char *key, const void *buf, size_t buf_size) |
virtual int | getProperty (const char *key, void *buf, size_t buf_size) |
virtual bool | onDataStreamWillStart () |
virtual void | onDataStreamWillStop () |
virtual bool | isExternal () |
The IExtensionVideoFilter class.
This class defines the interfaces that a external video extension provider can implement so as to be loaded by SDK as an "3rd party extension" for video pre- or post- processing.
enum ProcessMode |
enum ProcessResult |
|
pure virtual |
SDK will invoke this API first to get the filter's requested process mode ProcessMode.
mode | [out] filter assign its desired the process mode ProcessMode |
independent_thread | deprecated. SDK will ignore this parameter. |
|
pure virtual |
SDK will invoke this API before feeding video frame data to the filter. Filter can perform its initialization/preparation job in this step.
control | object to IExtensionFilter::Control that pass to the filter which can be used for future interaction with the SDK |
|
pure virtual |
SDK will invoke this API when the data stream is about to stop. Filter can perform cleanup jobs in this step.
|
pure virtual |
SDK will invoke this API every time before sending data to the filter. Filter can desigante the type VideoFrameInfo::Type and format MemPixelBuffer::Format of the next frame. SDK will then try to perform type / format conversion before sending data to the filter.
type | requested type of the next frame |
format | requested formant of the next frame |
|
inlinevirtual |
SDK will invoke this API to send video frame to the filter if process mode is "Async". Filter invokes control's "deliverFrame" to send back the frame after processing.
frame | frame pending for processing |
|
inlinevirtual |
SDK will invoke this API to send video frame to the filter if process mode is "Sync".
frame | frame pending for processing |
|
inlinevirtual |
|
inlinevirtual |
This function indicates if the filter is implemented by third-party providers.
true
: The filter is implemented by third-party providers.false
: otherwise. Reimplemented from IVideoFilter.
|
inlinevirtual |
Adapts the video frame.
capturedFrame | The reference to the captured video frame that you want to adapt. |
adaptedFrame | The reference to the adapted video frame. |
true
: Success.false
: Failure, if, for example, the IVideofilter
object drops the video frame. Implements IVideoFilterBase.
|
inlinevirtualinherited |
Enables or disables the video filter.
enable | Whether to enable the video filter:
|
|
inlinevirtualinherited |
Checks whether the video filter is enabled.
true
: The video filter is enabled.false
: The video filter is not enabled.
|
inlinevirtualinherited |
Sets a private property in the IVideoFilter
class.
key | The pointer to the property name. |
buf | The pointer to the buffer of this private property. |
buf_size | The buffer size of this private property. |
|
inlinevirtualinherited |
Gets a private property in the IVideoFilter class.
key | The pointer to the property name. |
buf | The pointer to the buffer of this private property. |
buf_size | The buffer size of this private property. |
|
inlinevirtualinherited |
This function is invoked right before data stream starts. Custom filter can override this function for initialization.
true
: The initialization succeeds.false
: The initialization fails.
|
inlinevirtualinherited |
This function is invoked right before data stream stops. Custom filter can override this function for deinitialization.
|
inlinevirtualinherited |
This function indicates if the filter is for internal use.
true
: The filter is implemented by external users.false
: The filter is implemented by internal users.
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |