class StreamProperties

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

Public Methods

void StreamProperties ()

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

void StreamProperties (StreamProperties && )

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

void StreamProperties (Storage_ storage)
void StreamProperties (const StreamProperties & other)
StreamProperties & operator= (const StreamProperties & other)
bool operator== (const StreamProperties & other)
bool operator!= (const StreamProperties & other)
bool IsEmpty ()
const std::optional< ::std::array<uint8_t, 16>> & unique_id ()

A unique identifier. If not included, there is no unique id for the StreamConfig.

`unique_id` arrays starting with 0x42, 0x54, ... (or `BT` in ASCII) are

reserved for drivers implementing Bluetooth technologies.

`unique_id` arrays starting with 0x55, 0x53, 0x42, ... (or `USB` in ASCII) are

reserved for drivers implementing USB technologies.

Note that even though the above values map to readable ASCII characters, array

values can span the entire uint8 range (0-255).

Optional.

::std::optional< ::std::array<uint8_t, 16>> & unique_id ()

A unique identifier. If not included, there is no unique id for the StreamConfig.

`unique_id` arrays starting with 0x42, 0x54, ... (or `BT` in ASCII) are

reserved for drivers implementing Bluetooth technologies.

`unique_id` arrays starting with 0x55, 0x53, 0x42, ... (or `USB` in ASCII) are

reserved for drivers implementing USB technologies.

Note that even though the above values map to readable ASCII characters, array

values can span the entire uint8 range (0-255).

Optional.

StreamProperties & unique_id (std::optional< ::std::array<uint8_t, 16>> value)

A unique identifier. If not included, there is no unique id for the StreamConfig.

`unique_id` arrays starting with 0x42, 0x54, ... (or `BT` in ASCII) are

reserved for drivers implementing Bluetooth technologies.

`unique_id` arrays starting with 0x55, 0x53, 0x42, ... (or `USB` in ASCII) are

reserved for drivers implementing USB technologies.

Note that even though the above values map to readable ASCII characters, array

values can span the entire uint8 range (0-255).

Optional.

const std::optional<bool> & is_input ()

Driver type is input (true) or output (false)

Required.

::std::optional<bool> & is_input ()

Driver type is input (true) or output (false)

Required.

StreamProperties & is_input (std::optional<bool> value)

Driver type is input (true) or output (false)

Required.

const std::optional<bool> & can_mute ()

Gain mute capability. If not included, the StreamConfig can't mute.

Optional.

::std::optional<bool> & can_mute ()

Gain mute capability. If not included, the StreamConfig can't mute.

Optional.

StreamProperties & can_mute (std::optional<bool> value)

Gain mute capability. If not included, the StreamConfig can't mute.

Optional.

const std::optional<bool> & can_agc ()

Automatic Gain Control (AGC) capability. If not included, the StreamConfig can't AGC.

Optional.

::std::optional<bool> & can_agc ()

Automatic Gain Control (AGC) capability. If not included, the StreamConfig can't AGC.

Optional.

StreamProperties & can_agc (std::optional<bool> value)

Automatic Gain Control (AGC) capability. If not included, the StreamConfig can't AGC.

Optional.

const std::optional<float> & min_gain_db ()

Minimum gain in decibels.

Required.

::std::optional<float> & min_gain_db ()

Minimum gain in decibels.

Required.

StreamProperties & min_gain_db (std::optional<float> value)

Minimum gain in decibels.

Required.

const std::optional<float> & max_gain_db ()

Maximum gain in decibels.

Required.

::std::optional<float> & max_gain_db ()

Maximum gain in decibels.

Required.

StreamProperties & max_gain_db (std::optional<float> value)

Maximum gain in decibels.

Required.

const std::optional<float> & gain_step_db ()

Gain step in decibels, this value must not be negative, but may be zero to convey an

effectively continuous range of values. Must not exceed `max_gain_db` - `min_gain_db`.

Required.

::std::optional<float> & gain_step_db ()

Gain step in decibels, this value must not be negative, but may be zero to convey an

effectively continuous range of values. Must not exceed `max_gain_db` - `min_gain_db`.

Required.

StreamProperties & gain_step_db (std::optional<float> value)

Gain step in decibels, this value must not be negative, but may be zero to convey an

effectively continuous range of values. Must not exceed `max_gain_db` - `min_gain_db`.

Required.

StreamProperties & operator= (StreamProperties && )

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

const std::optional< ::fuchsia_hardware_audio::PlugDetectCapabilities> & plug_detect_capabilities ()

Plug Detect Capabilities.

Required.

::std::optional< ::fuchsia_hardware_audio::PlugDetectCapabilities> & plug_detect_capabilities ()

Plug Detect Capabilities.

Required.

StreamProperties & plug_detect_capabilities (std::optional< ::fuchsia_hardware_audio::PlugDetectCapabilities> value)

Plug Detect Capabilities.

Required.

const std::optional< ::std::string> & manufacturer ()

UI string for the manufacturer name. If not included, the manufacturer is unspecified.

If included, this string must be non-empty.

Optional.

::std::optional< ::std::string> & manufacturer ()

UI string for the manufacturer name. If not included, the manufacturer is unspecified.

If included, this string must be non-empty.

Optional.

StreamProperties & manufacturer (std::optional< ::std::string> value)

UI string for the manufacturer name. If not included, the manufacturer is unspecified.

If included, this string must be non-empty.

Optional.

const std::optional< ::std::string> & product ()

UI string for the product name. If not included, the product name is unspecified.

If included, this string must be non-empty.

Optional.

::std::optional< ::std::string> & product ()

UI string for the product name. If not included, the product name is unspecified.

If included, this string must be non-empty.

Optional.

StreamProperties & product (std::optional< ::std::string> value)

UI string for the product name. If not included, the product name is unspecified.

If included, this string must be non-empty.

Optional.

const std::optional<uint32_t> & clock_domain ()

An identifier for the clock domain in which this hardware operates. If

two hardware devices have the same clock domain, their clock rates are

identical and perfectly synchronized. Although these two clocks have the

same rate, the clock positions may be offset from each other by an

arbitrary (but fixed) amount. The clock_domain typically comes from a

system wide entity, such as a platform bus or global clock tree.

There are two special values:

* `CLOCK_DOMAIN_MONOTONIC` means the hardware is operating at the same

rate as the system montonic clock.

* `CLOCK_DOMAIN_EXTERNAL` means the hardware is operating at an unknown

rate and is not synchronized with any known clock, not even with

other clocks in domain `CLOCK_DOMAIN_EXTERNAL`.

If the domain is not `CLOCK_DOMAIN_MONOTONIC`, client must use position

notification updates to recover the hardware's clock.

Required.

::std::optional<uint32_t> & clock_domain ()

An identifier for the clock domain in which this hardware operates. If

two hardware devices have the same clock domain, their clock rates are

identical and perfectly synchronized. Although these two clocks have the

same rate, the clock positions may be offset from each other by an

arbitrary (but fixed) amount. The clock_domain typically comes from a

system wide entity, such as a platform bus or global clock tree.

There are two special values:

* `CLOCK_DOMAIN_MONOTONIC` means the hardware is operating at the same

rate as the system montonic clock.

* `CLOCK_DOMAIN_EXTERNAL` means the hardware is operating at an unknown

rate and is not synchronized with any known clock, not even with

other clocks in domain `CLOCK_DOMAIN_EXTERNAL`.

If the domain is not `CLOCK_DOMAIN_MONOTONIC`, client must use position

notification updates to recover the hardware's clock.

Required.

StreamProperties & clock_domain (std::optional<uint32_t> value)

An identifier for the clock domain in which this hardware operates. If

two hardware devices have the same clock domain, their clock rates are

identical and perfectly synchronized. Although these two clocks have the

same rate, the clock positions may be offset from each other by an

arbitrary (but fixed) amount. The clock_domain typically comes from a

system wide entity, such as a platform bus or global clock tree.

There are two special values:

* `CLOCK_DOMAIN_MONOTONIC` means the hardware is operating at the same

rate as the system montonic clock.

* `CLOCK_DOMAIN_EXTERNAL` means the hardware is operating at an unknown

rate and is not synchronized with any known clock, not even with

other clocks in domain `CLOCK_DOMAIN_EXTERNAL`.

If the domain is not `CLOCK_DOMAIN_MONOTONIC`, client must use position

notification updates to recover the hardware's clock.

Required.

void StreamProperties (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits