class DelayInfo

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

Delay information as returned by the driver.

Public Methods

void DelayInfo ()

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

void DelayInfo (const DelayInfo & other)

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

void DelayInfo (DelayInfo && other)

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

bool IsEmpty ()

Returns whether no field is set.

bool HasUnknownData ()

Returns whether the table references unknown fields.

::fidl::WireTableBuilder< ::fuchsia_hardware_audio::wire::DelayInfo> Builder (::fidl::AnyArena & arena)

Return a builder that by defaults allocates of an arena.

::fidl::WireTableExternalBuilder< ::fuchsia_hardware_audio::wire::DelayInfo> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio::wire::DelayInfo>> frame)

Return a builder that relies on explicitly allocating |fidl::ObjectView|s.

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.

bool has_internal_delay ()
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.

bool has_external_delay ()
DelayInfo & operator= (const DelayInfo & other)

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

DelayInfo & operator= (DelayInfo && other)

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

DelayInfo & set_internal_delay (::fidl::ObjectView<int64_t> elem)
DelayInfo & set_internal_delay (std::nullptr_t )
DelayInfo & clear_internal_delay ()
DelayInfo & set_external_delay (::fidl::ObjectView<int64_t> elem)
DelayInfo & set_external_delay (std::nullptr_t )
DelayInfo & clear_external_delay ()
void DelayInfo (::fidl::AnyArena & allocator)
void DelayInfo (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio::wire::DelayInfo>> && frame)

This constructor allows a user controlled allocation (not using a Arena).

It should only be used when performance is key.

As soon as the frame is given to the table, it must not be used directly or for another table.

void Allocate (::fidl::AnyArena & allocator)
void Init (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio::wire::DelayInfo>> && frame_ptr)
void ~DelayInfo ()

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

Friends

class WireTableBaseBuilder
class WireTableBaseBuilder