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 and threading model.
mode | [out] filter assign its desired the process mode ProcessMode |
independent_thread | [out] filter assign its desired threading model. When this boolean is set "true", an indepent thread will be assigned to the current filter and all invocations from SDK afterwards are ensured to happen on that fixed thread. If this boolean flag is set "false", the filter will re-use the thread of the SDK's data path. All invocations from SDK afterwards are also ensured to be on the same thread, however that thread is shared. |
|
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 |