template <>

class WireTableBuilder

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

Public Methods

template <typename First = int64_t, typename... Args, std::enable_if_t<!std::is_same_v<cpp20::remove_cvref_t<First>, fidl::ObjectView<int64_t>>, int> = 0>
::fidl::WireTableBuilder< ::fuchsia_hardware_audio::wire::DelayInfo> & internal_delay (First && first, Args &&... args_)

The driver's best estimate (for the chosen format) of the delay internal to the hardware it

abstracts.

"Internal" refers to the hardware between the DAI interconnect and the ring buffer (such as

an SoC audio subsystem), whereas "external" refers to hardware on the far side of any DAI

interconnect (such as hardware codecs).

For a given frame during playback, this is any delay after the driver copies it out of the

ring buffer, before it exits any interconnect.

For a given frame during recording, this is any delay after it enters the interconnect,

before the driver moves it into the ring buffer.

`internal_delay` must be taken into account by the client when determining the requirements

for minimum lead time (during playback) and minimum capture delay (during capture).

This delay must not include the inherent delay added by the temporary buffering needed

to copy data in and out of the ring buffer, which is contained in `RingBufferProperties`

field `driver_transfer_bytes`.

Required.

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

template <typename First = int64_t, typename... Args, std::enable_if_t<!std::is_same_v<cpp20::remove_cvref_t<First>, fidl::ObjectView<int64_t>>, int> = 0>
::fidl::WireTableBuilder< ::fuchsia_hardware_audio::wire::DelayInfo> & external_delay (First && first, Args &&... args_)

The driver's best estimate (for the chosen format) of the delay external to the hardware it

abstracts.

"External" refers to hardware on the far side of any DAI interconnect (such as hardware

codecs), whereas "internal" refers to hardware between the DAI interconnect and the ring

buffer (such as an SoC audio subsystem).

`external_delay` must be taken into account by the client when determining the requirements

for minimum lead time (during playback) and minimum capture delay (during capture).

If not included, `external_delay` is unknown. If unknown, a client may treat it however it

chooses (consider it zero or some large number, autodetect it, etc).

Like `internal_delay`, this delay must not include the inherent delay added by the temporary

buffering needed to copy data in and out of the ring buffer, which is contained in

`RingBufferProperties` field `driver_transfer_bytes`.

Optional.

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

Friends

template <>
class DelayInfo