IVideoProcessor class
- Inheritance
-
- Object
- NativeClass
- IVideoProcessor
- Implementers
Properties
-
$resource
→ NativeResource
-
no setterinherited
-
hashCode
→ int
-
The hash code for this object.
no setterinherited
-
ready
→ Future<void>
-
Whether the instance is initialized
no setterinherited
-
runtimeType
→ Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
destroy()
→ void
-
inherited
-
nativeCall<T>(String method, [List? args, NativeMethodMeta? meta])
→ Future<T>
-
Call instance method
inherited
-
noSuchMethod(Invocation invocation)
→ dynamic
-
Invoked when a nonexistent method or property is accessed.
inherited
-
processVideoFrame(IVideoFrame frame)
→ FutureOr<IVideoFrame>
-
@detail api
@author zhushufan.ref
@brief 获取 RTC SDK 采集得到的视频帧,根据 registerLocalVideoProcessor{@link #RTCEngine#registerLocalVideoProcessor} 设置的视频前处理器,进行视频前处理,最终将处理后的视频帧给到 RTC SDK 用于编码传输。
@param frame RTC SDK 采集得到的视频帧,参看 IVideoFrame{@link #IVideoFrame}。
@return 经过视频前处理后的视频帧,返回给 RTC SDK 供编码和传输,参看 IVideoFrame{@link #IVideoFrame}。
@note
- 在进行视频前处理前,你需要调用 registerLocalVideoProcessor{@link #RTCEngine#registerLocalVideoProcessor} 设置视频前处理器。
- 如果需要取消视频前处理,可以将视频前处理器设置为 nullptr。
- 对于纹理类型的视频数据,应用层需要在自己的工作线程准备OpenGL上下文进行视频处理。
- 应用层实现IVideoProcessor.processVideoFrame 接口时,可以直接修改参数 frame 的缓冲区,将frame引用计数加一(调用addRef方法),然后将修改后的frame返回。应用层也可以创建一个新的视频帧并返回。
- 对于 IVideoProcessor.processVideoFrame返回的视频帧,在SDK层消费完成后,SDK内部总是调用这个视频帧的releaseRef方法。
-
sendInstanceGet<T>(String property)
→ Future<T>
-
Get instance property
inherited
-
sendInstancePropertiesGet(dynamic nativeClass)
→ Future<Map<String, dynamic>>
-
Get instance properties
inherited
-
sendInstanceSet(String property, dynamic value)
→ Future<void>
-
Set instance property
inherited
-
toString()
→ String
-
A string representation of this object.
inherited
-
updateResource(NativeResource resource)
→ void
-
inherited