Project: /_project.yaml Book: /_book.yaml

fuchsia.camera2

PROTOCOLS

Manager {:#Manager}

Defined in fuchsia.camera2/manager.fidl

OnDeviceAvailable {:#OnDeviceAvailable}

Notifies the client when a camera becomes available. A number of these events will be sent when a client first connects to this protocol. |device_id| is used to identify the camera. The device_id should not change throughout the lifetime of the camera. |last_known_camera| is set to true when the Camera Manager has notified the client of all the devices it currently knows about. |description| describes the properties of the camera.

Response

OnDeviceUnavailable {:#OnDeviceUnavailable}

Notifies the client when a camera becomes unavailable.

Response

OnDeviceMuteChanged {:#OnDeviceMuteChanged}

Notifies the client when a camera becomes muted or unmuted. |device_id| refers to the device_id from the description of a previous OnDeviceAvailable call.

Response

AcknowledgeDeviceEvent {:#AcknowledgeDeviceEvent}

AcknowledgeDeviceEvent must be called after any of the above events before more events will be sent.

Request

ConnectToStream {:#ConnectToStream}

Connect to a camera stream: |device_id| Refers to a specific device_id that has been advertised by OnDeviceAvailable. |constraints| contains a set of constraints on the requested stream. The Camera Manager will attempt to find a stream that meets the constraints. If multiple streams match, one of the matching streams will be connected. |token| refers to a Sysmem buffer allocation that will be used to pass images using the Stream protocol. The Camera Manager will apply a BufferCollectionContraints related to the image format(s), so the client does not need to apply any ImageFormatConstraints. Sync is assumed to have been called on |token| before it is passed to ConnectToStream. Since |constraints| may not dictate a specific format, the initial format of images on the stream is indicated on the response. The connection is considered to be successful once a response has been given, unless |stream| is closed.

Request

Response

MuteControl {:#MuteControl}

Defined in fuchsia.camera2/manager.fidl

Mute {:#Mute}

Mutes a camera. This is independent from stopping or closing a stream. A muted camera will not produce any more images until unmute is called. You can still connect to streams from a muted camera, but they will not produce frames until the camera is unmuted. |device_id| refers to the device_id from a previous OnDeviceAvailable call.

Request

Response

Unmute {:#Unmute}

Request

Response

Stream {:#Stream}

Defined in fuchsia.camera2/stream.fidl

Start {:#Start}

Control Operations Starts the streaming of frames.

Request

Stop {:#Stop}

Stops the streaming of frames.

Request

ReleaseFrame {:#ReleaseFrame}

Unlocks the specified frame, allowing the driver to reuse the memory.

Request

OnFrameAvailable {:#OnFrameAvailable}

Sent by the driver to the client when a frame is available for processing, or an error occurred. The frame is considered read-locked by the client after this message. The client must call ReleaseFrame to release the read-lock for a non-error frame, or the consumer will eventually run out of buffers. If a frame has an error, the client must call AcknowledgeFrameError before another OnFrameAvailable will be called with an error frame.

Response

AcknowledgeFrameError {:#AcknowledgeFrameError}

Provides flow control for receiving frame errors. See OnFrameAvailable comment.

Request

SetRegionOfInterest {:#SetRegionOfInterest}

Data operations This is used by clients to provide inputs for region of interest selection. Inputs are the x & y coordinates for the new bounding box. For streams which do not support smart framing, this would return an error.

Request

Response

SetImageFormat {:#SetImageFormat}

Change the image format of the stream. This is called when clients want to dynamically change the resolution of the stream while the streaming is is going on.

Request

Response

GetImageFormats {:#GetImageFormats}

Get the image formats that this stream supports.

Request

Response

Manager {:#Manager}

Defined in fuchsia.camera2/manager.fidl

OnDeviceAvailable {:#OnDeviceAvailable}

Notifies the client when a camera becomes available. A number of these events will be sent when a client first connects to this protocol. |device_id| is used to identify the camera. The device_id should not change throughout the lifetime of the camera. |last_known_camera| is set to true when the Camera Manager has notified the client of all the devices it currently knows about. |description| describes the properties of the camera.

Response

OnDeviceUnavailable {:#OnDeviceUnavailable}

Notifies the client when a camera becomes unavailable.

Response

OnDeviceMuteChanged {:#OnDeviceMuteChanged}

Notifies the client when a camera becomes muted or unmuted. |device_id| refers to the device_id from the description of a previous OnDeviceAvailable call.

Response

AcknowledgeDeviceEvent {:#AcknowledgeDeviceEvent}

AcknowledgeDeviceEvent must be called after any of the above events before more events will be sent.

Request

ConnectToStream {:#ConnectToStream}

Connect to a camera stream: |device_id| Refers to a specific device_id that has been advertised by OnDeviceAvailable. |constraints| contains a set of constraints on the requested stream. The Camera Manager will attempt to find a stream that meets the constraints. If multiple streams match, one of the matching streams will be connected. |token| refers to a Sysmem buffer allocation that will be used to pass images using the Stream protocol. The Camera Manager will apply a BufferCollectionContraints related to the image format(s), so the client does not need to apply any ImageFormatConstraints. Sync is assumed to have been called on |token| before it is passed to ConnectToStream. Since |constraints| may not dictate a specific format, the initial format of images on the stream is indicated on the response. The connection is considered to be successful once a response has been given, unless |stream| is closed.

Request

Response

MuteControl {:#MuteControl}

Defined in fuchsia.camera2/manager.fidl

Mute {:#Mute}

Mutes a camera. This is independent from stopping or closing a stream. A muted camera will not produce any more images until unmute is called. You can still connect to streams from a muted camera, but they will not produce frames until the camera is unmuted. |device_id| refers to the device_id from a previous OnDeviceAvailable call.

Request

Response

Unmute {:#Unmute}

Request

Response

Stream {:#Stream}

Defined in fuchsia.camera2/stream.fidl

Start {:#Start}

Control Operations Starts the streaming of frames.

Request

Stop {:#Stop}

Stops the streaming of frames.

Request

ReleaseFrame {:#ReleaseFrame}

Unlocks the specified frame, allowing the driver to reuse the memory.

Request

OnFrameAvailable {:#OnFrameAvailable}

Sent by the driver to the client when a frame is available for processing, or an error occurred. The frame is considered read-locked by the client after this message. The client must call ReleaseFrame to release the read-lock for a non-error frame, or the consumer will eventually run out of buffers. If a frame has an error, the client must call AcknowledgeFrameError before another OnFrameAvailable will be called with an error frame.

Response

AcknowledgeFrameError {:#AcknowledgeFrameError}

Provides flow control for receiving frame errors. See OnFrameAvailable comment.

Request

SetRegionOfInterest {:#SetRegionOfInterest}

Data operations This is used by clients to provide inputs for region of interest selection. Inputs are the x & y coordinates for the new bounding box. For streams which do not support smart framing, this would return an error.

Request

Response

SetImageFormat {:#SetImageFormat}

Change the image format of the stream. This is called when clients want to dynamically change the resolution of the stream while the streaming is is going on.

Request

Response

GetImageFormats {:#GetImageFormats}

Get the image formats that this stream supports.

Request

Response

STRUCTS

FrameAvailableInfo {:#FrameAvailableInfo}

Defined in fuchsia.camera2/stream.fidl

Sent by the driver to the client when a frame is available for processing, or an error occurred.

FrameRate {:#FrameRate}

Defined in fuchsia.camera2/stream.fidl

FrameAvailableInfo {:#FrameAvailableInfo}

Defined in fuchsia.camera2/stream.fidl

Sent by the driver to the client when a frame is available for processing, or an error occurred.

FrameRate {:#FrameRate}

Defined in fuchsia.camera2/stream.fidl

ENUMS

DeviceType {:#DeviceType}

Type: uint32

Defined in fuchsia.camera2/manager.fidl

FrameStatus {:#FrameStatus}

Type: uint32

Defined in fuchsia.camera2/stream.fidl

Status to be set when a frame is signalled available.

DeviceType {:#DeviceType}

Type: uint32

Defined in fuchsia.camera2/manager.fidl

FrameStatus {:#FrameStatus}

Type: uint32

Defined in fuchsia.camera2/stream.fidl

Status to be set when a frame is signalled available.

TABLES

StreamConstraints {:#StreamConstraints}

Defined in fuchsia.camera2/manager.fidl

These constraints are given to the Camera Manager when requesting a stream. The Camera Manager will use these constraints to match an appropriate stream.

DeviceInfo {:#DeviceInfo}

Defined in fuchsia.camera2/manager.fidl

Identifying information about the device.

FrameMetadata {:#FrameMetadata}

Defined in fuchsia.camera2/stream.fidl

StreamProperties {:#StreamProperties}

Defined in fuchsia.camera2/stream.fidl

StreamConstraints {:#StreamConstraints}

Defined in fuchsia.camera2/manager.fidl

These constraints are given to the Camera Manager when requesting a stream. The Camera Manager will use these constraints to match an appropriate stream.

DeviceInfo {:#DeviceInfo}

Defined in fuchsia.camera2/manager.fidl

Identifying information about the device.

FrameMetadata {:#FrameMetadata}

Defined in fuchsia.camera2/stream.fidl

StreamProperties {:#StreamProperties}

Defined in fuchsia.camera2/stream.fidl

BITS

CameraStreamType {:#CameraStreamType}

Type: uint32

CameraStreamType {:#CameraStreamType}

Type: uint32

CONSTANTS