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
Name | Type |
---|---|
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
Name | Type |
---|---|
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
Name | Type |
---|---|
config |
Config?
|
status |
zx/Status
|
STRUCTS
Config
Defined in fuchsia.camera2.hal/hal.fidl
Represents one configuration
Field | Type | Description | Default |
---|---|---|---|
stream_configs |
vector<StreamConfig>:64
|
No default |
StreamConfig
Defined in fuchsia.camera2.hal/hal.fidl
Represents one stream within a particular configuration.
Field | Type | Description | Default |
---|---|---|---|
frame_rate |
fuchsia.camera2/FrameRate
|
No default | |
constraints |
fuchsia.sysmem/BufferCollectionConstraints
|
|
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 |
No default |
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
MAX_CONFIGURATIONS |
256
|
uint64 |
Maximum number of configurations per device. |
MAX_STREAMS |
64
|
uint64 |
Maximum number of streams per config. |