协议
控制器
在 fuchsia.camera2.hal/hal.fidl 中定义
这是摄像头驱动程序的接口,允许设置指定的配置和设置数据流。
创建数据流
设置特定配置并创建请求的数据流。
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>
|
停用流式处理
请求
<空>
启用流式传输
启用/停用流式传输
请求
<空>
获取设备信息
请求
<空>
回复
名称 | 类型 |
---|---|
info |
fuchsia.camera2/DeviceInfo
|
获取 NextConfig
返回相机驱动程序支持的下一个可用配置。如果没有可用的新配置,则返回 ZX_ERR_STOP。
请求
<空>
回复
名称 | 类型 |
---|---|
config |
Config?
|
status |
zx/Status
|
结构
配置
在 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
|
|
无默认值 |
properties |
fuchsia.camera2/StreamProperties
|
数据流的属性: |
无默认值 |
image_formats |
vector<fuchsia.sysmem/ImageFormat_2>[256]
|
我们需要同时指定约束条件和图片格式,因为相机控制器支持一组固定的分辨率,因此 |
无默认值 |
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
MAX_CONFIGURATIONS |
256
|
uint64 |
每台设备的配置数量上限。 |
MAX_STREAMS |
64
|
uint64 |
每个配置的数据流数量上限。 |