class Composite
Defined at line 17448 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
Public Methods
void ~Composite ()
void GetHealthState (GetHealthStateCallback callback)
Retrieves top level health state.
A driver not responding promptly can be used as an indication of an unhealthy driver.
void SignalProcessingConnect (::fidl::InterfaceRequest< ::fuchsia::hardware::audio::signalprocessing::SignalProcessing> protocol)
Connect to a `SignalProcessing` protocol.
Multiple connections may be supported, if a new connection request is not supported, i.e.
the maximum number of connections have already been created, for instance one, then the
`protocol` channel (not the channel upon which `SignalProcessingConnect` is being called)
will be closed with a `ZX_ERR_ALREADY_BOUND` epitaph.
If signal processing is not supported at all, then the `protocol` channel (again, not the
channel upon which `SignalProcessingConnect` is being called) will be closed with a
`ZX_ERR_NOT_SUPPORTED` epitaph.
This method is named `SignalProcessingConnect` instead of `Connect` because this protocol
is intended to be composed, and hence the more verbose name allows differentiation and
improved clarity.
void Reset (ResetCallback callback)
Resets the hardware including all DAI interconnects and signal processing.
As a result, all channels obtained by `CreateRingBuffer` will be closed.
`Reset` returns when the hardware is fully reset. At this point, a client would need to
reconfigure any DAI interconnects, select a signal processing topology and reconfigure
any processing elements, and reconstruct any ring buffers.
If the driver can't successfully reset the hardware, it will return an error and then close
the protocol channel, in this case the client may obtain a new protocol channel and retry.
void GetProperties (GetPropertiesCallback callback)
Retrieves top level static properties.
void GetRingBufferFormats (uint64_t processing_element_id, GetRingBufferFormatsCallback callback)
Retrieves the ring buffer formats supported by a `RING_BUFFER` processing element
in the topology supported by this driver as returned by `GetElements` from
fuchsia.hardware.audio.signalprocessing.
Returns `SHOULD_WAIT` if the ring buffer formats are not available at the time, the
client may retry at a later time.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned
by `GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`RING_BUFFER`.
Retrieving multiple `SupportedFormats2` allows for cases where exclusive combinations of
the parameters in `SupportedFormats2` may be supported.
The vector returned to the caller must contain at least one entry.
void CreateRingBuffer (uint64_t processing_element_id, ::fuchsia::hardware::audio::Format2 format, ::fidl::InterfaceRequest< ::fuchsia::hardware::audio::RingBuffer> ring_buffer, CreateRingBufferCallback callback)
`CreateRingBuffer` is sent by clients to select a ring buffer format for the `RING_BUFFER`
processing element specified by `processing_element_id`. The format is based on information
that the driver provides in `GetRingBufferFormats`, what is supported by the client, and
any other requirement. The returned `ring_buffer` channel is used to access and control the
audio buffer provided by the driver.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned
by `GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`RING_BUFFER`.
Returns `NOT_SUPPORTED` if the driver does not support ring buffers, or if the specified
`format` is not supported.
void GetDaiFormats (uint64_t processing_element_id, GetDaiFormatsCallback callback)
Retrieves the DAI formats supported by a `DAI_INTERCONNECT` processing element
in the topology supported by this driver as returned by `GetElements` from
fuchsia.hardware.audio.signalprocessing.
Returns `SHOULD_WAIT` if the DAI formats are not available at the time, the client
may retry at a later time.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned
by `GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`DAI_INTERCONNECT`.
Retrieving multiple `DaiSupportedFormats` allows for cases where exclusive combinations of
the parameters in DaiSupportedFormats may be supported.
The vector returned to the caller must contain at least one entry.
void SetDaiFormat (uint64_t processing_element_id, ::fuchsia::hardware::audio::DaiFormat format, SetDaiFormatCallback callback)
`SetDaiFormat` is sent by clients to select a DAI format for the `DAI_INTERCONNECT`
processing element specified by `processing_element_id`. The format is based on information
that the driver provides in `GetDaiFormats`, what is supported by the client, and any other
requirement.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned
by `GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`DAI_INTERCONNECT`.
void GetPacketStreamFormats (uint64_t processing_element_id, GetPacketStreamFormatsCallback callback)
Retrieves the packet-stream formats supported by a `PACKET_STREAM` processing element
in the topologies supported by this driver, as returned by `GetElements` and `GetTopologies`
from fuchsia.hardware.audio.signalprocessing.
Returns `SHOULD_WAIT` if the packet-stream formats are not available at this time. The
client may retry this request at a later time.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned by
`GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`PACKET_STREAM`.
Returns `NOT_SUPPORTED` if the driver does not support packet streams.
Returning a vector with multiple `SupportedFormats2` enables cases where exclusive
combinations of the parameters in `SupportedFormats2` may be supported.
The vector returned to the caller must contain at least one entry.
void CreatePacketStream (uint64_t processing_element_id, ::fuchsia::hardware::audio::Format2 format, ::fidl::InterfaceRequest< ::fuchsia::hardware::audio::PacketStreamControl> packet_stream_control, CreatePacketStreamCallback callback)
`CreatePacketStream` is sent by clients to select a packet-stream format for the
`PACKET_STREAM` processing element specified by `processing_element_id`. The format is based
on information that the driver provides in `GetPacketStreamFormats`, what is supported by
the client, and any other requirement. The returned `packet_stream` channel is used to
access and control the packet stream protocol served by the driver.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned by
`GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`PACKET_STREAM`.
Returns `SHOULD_WAIT` if the server cannot create a packet stream for this element/format
at this time, but it should be able to at some future time. This request can be retried.
Returns `NOT_SUPPORTED` if the driver does not support packet streams, or if the specified
`format` is not supported.
Protected Methods
void handle_unknown_method (uint64_t ordinal, bool method_has_response)
Friends
class Composite_Stub