|
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 |