class ElementState

Defined at line 4861 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

The current state of an element, as returned from the driver. Note that this table contains

fields that are not present in `SettableElementState`, since they cannot be changed by clients.

Public Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

ElementState & set_type_specific (::fuchsia::hardware::audio::signalprocessing::TypeSpecificElementState _value)
ElementState & set_vendor_specific_data (::std::vector<uint8_t> _value)
ElementState & set_started (bool _value)
ElementState & set_bypassed (bool _value)
ElementState & set_turn_on_delay (int64_t _value)
ElementState & set_turn_off_delay (int64_t _value)
ElementState & set_processing_delay (int64_t _value)
void ElementState ()
void ElementState (ElementState && other)
void ~ElementState ()
ElementState & operator= (ElementState && other)
::std::unique_ptr<ElementState> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, ElementState * _value, size_t _offset)
zx_status_t Clone (ElementState * _result)
const ::fuchsia::hardware::audio::signalprocessing::TypeSpecificElementState & type_specific ()

Type-specific state parameters for the processing element.

If this processing element is disabled and its type-specific state is provided, then the

type-specific state is only informational (e.g. the state of a stopped element, if it were

to be re-started without also providing additional superceding state information).

Required for DAI_INTERCONNECT, DYNAMICS, EQUALIZER, GAIN and VENDOR_SPECIFIC elements.

Invalid if specified for elements of type AUTOMATIC_GAIN_CONTROL, AUTOMATIC_GAIN_LIMITER,

CONNECTION_POINT, DELAY, MUTE, RING_BUFFER or SAMPLE_RATE_CONVERSION.

Defined at line 4876 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

bool has_type_specific ()

Defined at line 4880 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

::fuchsia::hardware::audio::signalprocessing::TypeSpecificElementState * mutable_type_specific ()

Type-specific state parameters for the processing element.

If this processing element is disabled and its type-specific state is provided, then the

type-specific state is only informational (e.g. the state of a stopped element, if it were

to be re-started without also providing additional superceding state information).

Required for DAI_INTERCONNECT, DYNAMICS, EQUALIZER, GAIN and VENDOR_SPECIFIC elements.

Invalid if specified for elements of type AUTOMATIC_GAIN_CONTROL, AUTOMATIC_GAIN_LIMITER,

CONNECTION_POINT, DELAY, MUTE, RING_BUFFER or SAMPLE_RATE_CONVERSION.

Defined at line 4893 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

void clear_type_specific ()

Defined at line 4901 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

const ::std::vector<uint8_t> & vendor_specific_data ()

If included, an opaque object of octets for conveying vendor-specific information from the

driver to `SignalProcessing` clients.

Optional (permitted even if the element's type is not VENDOR_SPECIFIC).

Defined at line 4913 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

bool has_vendor_specific_data ()

Defined at line 4917 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

::std::vector<uint8_t> * mutable_vendor_specific_data ()

If included, an opaque object of octets for conveying vendor-specific information from the

driver to `SignalProcessing` clients.

Optional (permitted even if the element's type is not VENDOR_SPECIFIC).

Defined at line 4925 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

void clear_vendor_specific_data ()

Defined at line 4933 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

const bool & started ()

The start/stop state for this processing element.

If true, the hardware associated with the element is started. If false, it is stopped.

If the corresponding `Element` omitted `can_stop` or set it to `false`, then this field

can never be `false`.

A stopped processing element does not provide its abstracted functionality.

No audio data flows through stopped elements.

Required.

Defined at line 4951 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

bool has_started ()

Defined at line 4955 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

bool * mutable_started ()

The start/stop state for this processing element.

If true, the hardware associated with the element is started. If false, it is stopped.

If the corresponding `Element` omitted `can_stop` or set it to `false`, then this field

can never be `false`.

A stopped processing element does not provide its abstracted functionality.

No audio data flows through stopped elements.

Required.

Defined at line 4969 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

void clear_started ()

Defined at line 4977 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

const bool & bypassed ()

The bypass state for this processing element.

If true, the hardware associated with the element is bypassed. If false or missing, the

associated hardware is not bypassed.

By default, processing elements are not bypassed.

If the corresponding `Element` omitted `can_bypass` or set it to `false`, then this field

can never be set to `true`.

A bypassed element does not affect the flow of audio through the topology.

Audio flows through a bypassed element, unchanged.

Optional.

Defined at line 4997 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

bool has_bypassed ()

Defined at line 5001 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

bool * mutable_bypassed ()

The bypass state for this processing element.

If true, the hardware associated with the element is bypassed. If false or missing, the

associated hardware is not bypassed.

By default, processing elements are not bypassed.

If the corresponding `Element` omitted `can_bypass` or set it to `false`, then this field

can never be set to `true`.

A bypassed element does not affect the flow of audio through the topology.

Audio flows through a bypassed element, unchanged.

Optional.

Defined at line 5017 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

void clear_bypassed ()

Defined at line 5025 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

const int64_t & turn_on_delay ()

If included, the driver's best estimate of the amount of time it takes the element's

hardware to enter a fully operational mode after `started` has changed from false to true.

Hardware may require some duration to reach a fully operational mode after changing its

power state, for example.

If `turn_on_delay` is not taken into account, then an audio stream's initial frames might

be lost while audio elements are powering up.

If not included, `turn_on_delay` is unknown.

Optional. If specified, must be non-negative.

Defined at line 5043 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

bool has_turn_on_delay ()

Defined at line 5047 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

int64_t * mutable_turn_on_delay ()

If included, the driver's best estimate of the amount of time it takes the element's

hardware to enter a fully operational mode after `started` has changed from false to true.

Hardware may require some duration to reach a fully operational mode after changing its

power state, for example.

If `turn_on_delay` is not taken into account, then an audio stream's initial frames might

be lost while audio elements are powering up.

If not included, `turn_on_delay` is unknown.

Optional. If specified, must be non-negative.

Defined at line 5061 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

void clear_turn_on_delay ()

Defined at line 5069 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

const int64_t & turn_off_delay ()

If included, the driver's best estimate of the amount of time it takes the element's

hardware to enter a fully disabled mode after `started` has changed from true to false.

Hardware may require some duration to get into a fully stopped state after a change in

power state, for example.

If `turn_off_delay` is not taken into account, more frames will be emitted/captured than a

client might expect, while audio elements are powering down.

If not included, `turn_off_delay` is unknown.

Optional. If specified, must be non-negative.

Defined at line 5087 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

bool has_turn_off_delay ()

Defined at line 5091 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

int64_t * mutable_turn_off_delay ()

If included, the driver's best estimate of the amount of time it takes the element's

hardware to enter a fully disabled mode after `started` has changed from true to false.

Hardware may require some duration to get into a fully stopped state after a change in

power state, for example.

If `turn_off_delay` is not taken into account, more frames will be emitted/captured than a

client might expect, while audio elements are powering down.

If not included, `turn_off_delay` is unknown.

Optional. If specified, must be non-negative.

Defined at line 5105 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

void clear_turn_off_delay ()

Defined at line 5113 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

const int64_t & processing_delay ()

If included, the driver's best estimate of the delay added by this processing element,

as it is currently configured (including `bypassed` state).

This value should be taken into account by timing-sensitive clients, when determining the

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

For an element of type `RING_BUFFER`, this delay should not include the inherent delay

added by the temporary buffering needed to copy data in and out of a ring buffer, which

is contained in the `RingBufferProperties` field `driver_transfer_bytes`.

Optional. If specified, must be non-negative.

Defined at line 5132 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

bool has_processing_delay ()

Defined at line 5136 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

int64_t * mutable_processing_delay ()

If included, the driver's best estimate of the delay added by this processing element,

as it is currently configured (including `bypassed` state).

This value should be taken into account by timing-sensitive clients, when determining the

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

For an element of type `RING_BUFFER`, this delay should not include the inherent delay

added by the temporary buffering needed to copy data in and out of a ring buffer, which

is contained in the `RingBufferProperties` field `driver_transfer_bytes`.

Optional. If specified, must be non-negative.

Defined at line 5151 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h

void clear_processing_delay ()

Defined at line 5159 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/hlcpp/fuchsia/hardware/audio/signalprocessing/cpp/fidl.h