class Dai
Defined at line 17272 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
For an overview see
[Digital Audio Interface](https://fuchsia.dev/fuchsia-src/concepts/drivers/driver_architectures/audio_drivers/audio_dai).
# Deprecation
Not supported anymore, instead use an
[Audio Composite](https://fuchsia.dev/fuchsia-src/development/audio/drivers/composite)
with one DAI and one Ring Buffer, see
[Audio Drivers Architecture](https://fuchsia.dev/fuchsia-src/development/audio/drivers/architecture)
Public Methods
void ~Dai ()
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 DAI HW. The `ring_buffer` channel obtained via `CreateRingBuffer` may be closed
by the driver, in this case the client needs to obtain a new `ring_buffer`.
`Reset` returns when the reset is completed. If the driver can't successfully reset the HW,
it will close the DAI protocol channel, in this case the client may obtain a new DAI
protocol channel and retry.
void GetProperties (GetPropertiesCallback callback)
Retrieves top level static properties.
void GetDaiFormats (GetDaiFormatsCallback callback)
Retrieves the DAI formats supported by the DAI, if not available at the time the DAI
may reply with an error status and the client may retry at a later time.
Retrieving multiple `DaiSupportedFormats` allows for cases where exclusive combinations of
the parameters in SupportedFormats may be supported.
void GetRingBufferFormats (GetRingBufferFormatsCallback callback)
Retrieves the ring buffer formats supported by the DAI, if not available at the time the DAI
may reply with an error status and the client may retry at a later time.
Retrieving multiple `SupportedFormats` allows for cases where exclusive combinations of
the parameters in `SupportedFormats` may be supported.
void CreateRingBuffer (::fuchsia::hardware::audio::DaiFormat dai_format, ::fuchsia::hardware::audio::Format ring_buffer_format, ::fidl::InterfaceRequest< ::fuchsia::hardware::audio::RingBuffer> ring_buffer)
`CreateRingBuffer` is sent by clients to select both a DAI format and a ring buffer format
based on information that the driver provides in `GetDaiFormats` and `GetRingBufferFormats`,
what is supported by the client, and any other requirement. The `ring_buffer` channel is
used to control the audio buffer, if a previous ring buffer channel had been established and
was still active, the driver must close that (ring buffer) channel and make every attempt to
gracefully quiesce any on-going streaming operations in the process.