template <>

class WireSyncBufferClientImpl

Defined at line 7909 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_messaging.h

Public Methods

::fidl::WireUnownedResult< ::fuchsia_hardware_audio::Composite::GetHealthState> GetHealthState ()

Retrieves top level health state.

A driver not responding promptly can be used as an indication of an unhealthy driver.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::OneWayStatus SignalProcessingConnect (::fidl::ServerEnd< ::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_audio::Composite::Reset> Reset ()

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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_audio::Composite::GetProperties> GetProperties ()

Retrieves top level static properties.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_audio::Composite::GetRingBufferFormats> GetRingBufferFormats (uint64_t processing_element_id)

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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_audio::Composite::CreateRingBuffer> CreateRingBuffer (uint64_t processing_element_id, ::fuchsia_hardware_audio::wire::Format2 format, ::fidl::ServerEnd< ::fuchsia_hardware_audio::RingBuffer> && ring_buffer)

`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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_audio::Composite::GetDaiFormats> GetDaiFormats (uint64_t processing_element_id)

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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_audio::Composite::SetDaiFormat> SetDaiFormat (uint64_t processing_element_id, const ::fuchsia_hardware_audio::wire::DaiFormat & format)

`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`.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_audio::Composite::GetPacketStreamFormats> GetPacketStreamFormats (uint64_t processing_element_id)

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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_audio::Composite::CreatePacketStream> CreatePacketStream (uint64_t processing_element_id, ::fuchsia_hardware_audio::wire::Format2 format, ::fidl::ServerEnd< ::fuchsia_hardware_audio::PacketStreamControl> && packet_stream_control)

`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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.