template <typename BuilderImpl>

class WireTableBaseBuilder

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

Public Methods

::fuchsia_hardware_audio::wire::DelayInfo Build ()

Build and return the table. The builder should not be used after this.

bool has_internal_delay ()
void clear_internal_delay ()

Clears the internal_delay field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

int64_t & internal_delay ()

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.

BuilderImpl & internal_delay (Wrapper_Ignore_Me_< ::fidl::ObjectView<int64_t>> elem)

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.

bool has_external_delay ()
void clear_external_delay ()

Clears the external_delay field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

int64_t & external_delay ()

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.

BuilderImpl & external_delay (Wrapper_Ignore_Me_< ::fidl::ObjectView<int64_t>> elem)

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.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_hardware_audio::wire::DelayInfo, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio::wire::DelayInfo>> && frame)

Records