fuchsia.camera2.hal

Added: 7

PROTOCOLS

Controller

Defined in fuchsia.camera2.hal/hal.fidl

This is the interface to the camera driver which allows setting up a given configuration and setting up a stream.

CreateStream

Set a particular configuration and create the requested stream. config_index : Configuration index from the vector which needs to be applied. stream_index : Stream index from the vector of streams provided within a config. stream : Stream channel for the stream requested image_format_index : Image format index which needs to be set up upon creation. If there is already an active configuration which is different than the one which is requested to be set, then the HAL will be closing all existing streams and honor this new setup call. If the new stream requested is already part of the existing running configuration the HAL will just be creating this new stream while the other stream still exists as is.

Request

NameType
config_index uint32
stream_index uint32
image_format_index uint32
stream server_end:fuchsia.camera2/Stream

DisableStreaming

Request

<EMPTY>

EnableStreaming

Enable/Disable Streaming

Request

<EMPTY>

GetDeviceInfo

Request

<EMPTY>

Response

NameType
info fuchsia.camera2/DeviceInfo

GetNextConfig

Returns the next available configuration which the camera driver supports. Returns ZX_ERR_STOP if no new configurations are available.

Request

<EMPTY>

Response

NameType
config Config?
status zx/Status

STRUCTS

Config

Defined in fuchsia.camera2.hal/hal.fidl

Represents one configuration

FieldTypeDescriptionDefault
stream_configs vector<StreamConfig>:64 No default

StreamConfig

Defined in fuchsia.camera2.hal/hal.fidl

Represents one stream within a particular configuration.

FieldTypeDescriptionDefault
frame_rate fuchsia.camera2/FrameRate No default
constraints fuchsia.sysmem/BufferCollectionConstraints

constraints should allow for all the image formats listed in image_formats.

No default
properties fuchsia.camera2/StreamProperties

Properties of the stream:

No default
image_formats vector<fuchsia.sysmem/ImageFormat_2>:256

We need to specify both the constraints & the image formats because there are fixed set of resolutions supported by the Camera Controller so a range within the constraints won't be sufficient. Some streams support multiple resolutions for same configuration We would need to change the resolution runtime, without stopping the streaming. This provides a list of resolutions a stream would be providing. At least one format must be provided.

No default

CONSTANTS

NameValueTypeDescription
MAX_CONFIGURATIONS 256 uint64

Maximum number of configurations per device.

MAX_STREAMS 64 uint64

Maximum number of streams per config.