IVideoSource

最近更新时间:2022-09-20 05:17:40

Public 成员函数
virtual boolonInitialize (IVideoFrameConsumer *consumer) =0
virtual voidonDispose ()=0
virtual boolonStart ()=0
virtual voidonStop ()=0
virtual AM::ExternalVideoFrame::VIDEO_PIXEL_FORMATgetBufferType ()=0
virtual VIDEO_CAPTURE_TYPEgetVideoCaptureType ()=0
virtual VideoContentHintgetVideoContentHint ()=0

详细说明

IVideoSource 类,可以设置自定义的视频源。

成员函数说明

onInitialize

virtual bool onInitialize(IVideoFrameConsumer *consumer) = 0;

初始化视频源回调

SDK 触发该回调提醒你初始化自定义视频源。你可以在这个回调中做一些准备工作,例如打开摄像头,并通过返回值告知 SDK 自定义的视频源是否已经准备完毕。

参数

参数描述
consumerSDK 传给你的一个 IVideoFrameConsumer 对象。你需要保存该对象,并在视频源启动后,通过这个对象把视频帧传给 SDK。详见 IVideoFrameConsumer

返回值

  • true: 自定义的视频源已经完成了初始化工作。
  • false: 自定义的视频源设备没准备好或者初始化失败,SDK 会停下来并上报错误。

onDispose

virtual void onDispose() = 0;

释放视频源回调

SDK 触发该回调提醒你关闭视频源设备。该回调通知你 SDK 即将销毁 IVideoFrameConsumer 对象。 收到该回调后,请你确保不再使用 IVideoFrameConsumer

onStart

virtual bool onStart() = 0;

启动视频源回调

SDK 触发该回调提醒你启动视频帧采集。启动成功后,SDK 会打开 IVideoFrameConsumer 的开关,接收你采集的视频帧。 你需要通过返回值告知 SDK 自定义的视频源是否已经成功启动。

返回值

  • true: 自定义的视频源启动成功。
  • false: 自定义的视频源启动失败,SDK 会停下来并上报错误。

onStop

virtual void onStop() = 0;

停止视频源回调

SDK 触发该回调提醒你停止视频帧采集。该回调通知你 IVideoFrameConsumer 的开关的即将关闭,SDK 不会接收你之后采集的视频帧。

getBufferType

virtual AM::ExternalVideoFrame::VIDEO_PIXEL_FORMAT getBufferType() = 0;

获取视频帧类型

在你初始化自定义视频源之前,SDK 会触发该回调来查询视频帧类型。你必须在返回值中指定一种视频帧类型来告知 SDK。

请确保在该回调中指定的视频帧类型和在 consumeRawVideoFrame 方法中指定的视频帧类型一致。

返回值

VIDEO_PIXEL_FORMAT

getVideoCaptureType

virtual VIDEO_CAPTURE_TYPE getVideoCaptureType() = 0;

指定自采集的视频源类型

在你初始化自定义视频源之前,SDK 会触发该回调查询自采集的视频源类型。你必须在返回值中指定一种视频源类型来告知 SDK。 SDK 会在接收到视频帧后根据视频源的类型对启用相应的视频处理策略。

返回值

VIDEO_CAPTURE_TYPE

getVideoContentHint

virtual VideoContentHint getVideoContentHint() = 0;

指定自采集屏幕共享视频的内容类型

如果指定自定义视频源为屏幕共享的视频,那么在你初始化自定义视频源之前,SDK 会触发该回调查询屏幕共享视频源的内容类型。 你必须在返回值中指定一种内容类型来告知 SDK。SDK 会在接收到视频帧后根据屏幕共享视频的内容类型启用相应的视频处理策略。

返回值

VideoContentHint