template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 5126 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/cpp/wire_types.h
Public Methods
::fuchsia_hardware_audio_signalprocessing::wire::ElementState Build ()
Build and return the table. The builder should not be used after this.
bool has_type_specific ()
void clear_type_specific ()
Clears the type_specific field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_hardware_audio_signalprocessing::wire::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.
BuilderImpl & type_specific (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_hardware_audio_signalprocessing::wire::TypeSpecificElementState>> elem)
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.
bool has_vendor_specific_data ()
void clear_vendor_specific_data ()
Clears the vendor_specific_data field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView<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).
BuilderImpl & vendor_specific_data (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView<uint8_t>>> elem)
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).
bool has_started ()
void clear_started ()
Clears the started field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
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.
BuilderImpl & started (bool elem)
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.
bool has_bypassed ()
void clear_bypassed ()
Clears the bypassed field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
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.
BuilderImpl & bypassed (bool elem)
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.
bool has_turn_on_delay ()
void clear_turn_on_delay ()
Clears the turn_on_delay field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
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.
BuilderImpl & turn_on_delay (Wrapper_Ignore_Me_< ::fidl::ObjectView<int64_t>> elem)
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.
bool has_turn_off_delay ()
void clear_turn_off_delay ()
Clears the turn_off_delay field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
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.
BuilderImpl & turn_off_delay (Wrapper_Ignore_Me_< ::fidl::ObjectView<int64_t>> elem)
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.
bool has_processing_delay ()
void clear_processing_delay ()
Clears the processing_delay field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
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.
BuilderImpl & processing_delay (Wrapper_Ignore_Me_< ::fidl::ObjectView<int64_t>> elem)
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.
Protected Methods
void WireTableBaseBuilder< ::fuchsia_hardware_audio_signalprocessing::wire::ElementState, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio_signalprocessing::wire::ElementState>> && frame)