fuchsia.camera2.hal

新增:7

协议

控制器

在 fuchsia.camera2.hal/hal.fidl 中定义

这是相机驱动程序的接口, 可用于设置给定配置和设置数据流。

CreateStream

设置特定配置并创建请求的视频流。 config_index:需要应用的向量中的配置索引。 stream_index:配置中提供的流向量中的流索引。 stream:所请求视频流的视频流通道 image_format_index:需要在创建时设置的图片格式索引。 如果已有处于活动状态的配置,且该配置与请求设置的配置不同,则 HAL 将关闭所有现有数据流,并遵循此新设置调用。如果请求的新数据流已属于现有运行配置,则 HAL 将仅创建此新数据流,而其他数据流仍保持原样。

请求

名称类型
config_index uint32
stream_index uint32
image_format_index uint32
stream server_end:fuchsia.camera2/Stream

DisableStreaming

请求

<EMPTY>

EnableStreaming

启用/停用流式传输

请求

<EMPTY>

GetDeviceInfo

请求

<EMPTY>

响应

名称类型
info fuchsia.camera2/DeviceInfo

GetNextConfig

返回相机驱动程序支持的下一个可用配置。 如果没有可用的新配置,则返回 ZX_ERR_STOP。

请求

<EMPTY>

响应

名称类型
config Config?
status zx/Result

STRUCTS

配置

在 fuchsia.camera2.hal/hal.fidl 中定义

表示一项配置

字段类型说明默认
stream_configs vector<StreamConfig>:64 无默认应用

StreamConfig

在 fuchsia.camera2.hal/hal.fidl 中定义

表示特定配置中的一个数据流。

字段类型说明默认
frame_rate fuchsia.camera2/FrameRate 无默认应用
constraints fuchsia.sysmem/BufferCollectionConstraints

constraints 应允许使用 image_formats 中列出的所有图片格式。

无默认应用
properties fuchsia.camera2/StreamProperties

数据流的属性:

无默认应用
image_formats vector<fuchsia.sysmem/ImageFormat_2>:256

我们需要同时指定限制条件和图片格式,因为相机控制器支持一组固定的分辨率,因此仅指定 constraints 中的范围是不够的。 某些数据流支持同一配置的多种分辨率。我们需要在不停止流式传输的情况下更改分辨率运行时。这将提供视频流将提供的分辨率列表。 必须至少提供一种格式。

无默认应用

常量

名称值类型说明
MAX_CONFIGURATIONS 256 uint64

每台设备的配置数量上限。

MAX_STREAMS 64 uint64

每个配置的最大直播数量。