class PcmSupportedFormats

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

Format supporting PCM audio. Each frame consists of one or more

(number_of_channels) samples, stored contiguously. Within the `bytes_per_sample` allocated for

each sample, `valid_bits_per_sample` bits of data are stored in the most-significant

(left-justified) portion.

All values listed in each vector are supported. This implies a cross-product: any listed

item in one vector is supported in combination with any listed item in another vector.

When not all combinations supported by the driver can be described with one

`PcmSupportedFormats` table, `GetSupportedFormats` must return a vector with multiple

`SupportedFormats` entries.

For more detailed information see [Audio Driver Streaming Interface](https://fuchsia.dev/fuchsia-src/concepts/drivers/driver_architectures/audio_drivers/audio_streaming).

Public Methods

void PcmSupportedFormats (Storage_ storage)
void PcmSupportedFormats ()

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

void PcmSupportedFormats (PcmSupportedFormats && )

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

void PcmSupportedFormats (const PcmSupportedFormats & other)
PcmSupportedFormats & operator= (PcmSupportedFormats && )

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

PcmSupportedFormats & operator= (const PcmSupportedFormats & other)
bool operator== (const PcmSupportedFormats & other)
bool operator!= (const PcmSupportedFormats & other)
bool IsEmpty ()
const std::optional< ::std::vector< ::fuchsia_hardware_audio::ChannelSet>> & channel_sets ()

Vector of possible `ChannelSets` supported.

A `ChannelSet` specifies a channel configuration (including a channel-count), plus a number

of optional attributes.

Only one `ChannelSet` is allowed for each unique channel-count. As a result, no two entries

in `channel_sets` can contain `attributes` vectors with the same length.

Required.

::std::optional< ::std::vector< ::fuchsia_hardware_audio::ChannelSet>> & channel_sets ()

Vector of possible `ChannelSets` supported.

A `ChannelSet` specifies a channel configuration (including a channel-count), plus a number

of optional attributes.

Only one `ChannelSet` is allowed for each unique channel-count. As a result, no two entries

in `channel_sets` can contain `attributes` vectors with the same length.

Required.

PcmSupportedFormats & channel_sets (std::optional< ::std::vector< ::fuchsia_hardware_audio::ChannelSet>> value)

Vector of possible `ChannelSets` supported.

A `ChannelSet` specifies a channel configuration (including a channel-count), plus a number

of optional attributes.

Only one `ChannelSet` is allowed for each unique channel-count. As a result, no two entries

in `channel_sets` can contain `attributes` vectors with the same length.

Required.

const std::optional< ::std::vector< ::fuchsia_hardware_audio::SampleFormat>> & sample_formats ()

Vector of possible `SampleFormat`s supported.

Required.

::std::optional< ::std::vector< ::fuchsia_hardware_audio::SampleFormat>> & sample_formats ()

Vector of possible `SampleFormat`s supported.

Required.

PcmSupportedFormats & sample_formats (std::optional< ::std::vector< ::fuchsia_hardware_audio::SampleFormat>> value)

Vector of possible `SampleFormat`s supported.

Required.

const std::optional< ::std::vector<uint8_t>> & bytes_per_sample ()

Vector of possible bytes allocated for each sample. Values must be listed in ascending

order. All values listed in `valid_bits_per_sample` must fit into at least the largest

`bytes_per_sample` value.

Required.

::std::optional< ::std::vector<uint8_t>> & bytes_per_sample ()

Vector of possible bytes allocated for each sample. Values must be listed in ascending

order. All values listed in `valid_bits_per_sample` must fit into at least the largest

`bytes_per_sample` value.

Required.

PcmSupportedFormats & bytes_per_sample (std::optional< ::std::vector<uint8_t>> value)

Vector of possible bytes allocated for each sample. Values must be listed in ascending

order. All values listed in `valid_bits_per_sample` must fit into at least the largest

`bytes_per_sample` value.

Required.

const std::optional< ::std::vector<uint8_t>> & valid_bits_per_sample ()

Vector of possible number of bits containing valid data, within the sample container defined

by `bytes_per_sample`. Values must be listed in ascending order. All values listed must fit

into the largest `bytes_per_sample` value. The valid data bits must be most-significant

(left-justified) within the sample container, and any additional bits will be ignored.

Required.

::std::optional< ::std::vector<uint8_t>> & valid_bits_per_sample ()

Vector of possible number of bits containing valid data, within the sample container defined

by `bytes_per_sample`. Values must be listed in ascending order. All values listed must fit

into the largest `bytes_per_sample` value. The valid data bits must be most-significant

(left-justified) within the sample container, and any additional bits will be ignored.

Required.

PcmSupportedFormats & valid_bits_per_sample (std::optional< ::std::vector<uint8_t>> value)

Vector of possible number of bits containing valid data, within the sample container defined

by `bytes_per_sample`. Values must be listed in ascending order. All values listed must fit

into the largest `bytes_per_sample` value. The valid data bits must be most-significant

(left-justified) within the sample container, and any additional bits will be ignored.

Required.

const std::optional< ::std::vector<uint32_t>> & frame_rates ()

Vector of possible frame rates supported. Values must be listed in ascending order.

Required.

::std::optional< ::std::vector<uint32_t>> & frame_rates ()

Vector of possible frame rates supported. Values must be listed in ascending order.

Required.

PcmSupportedFormats & frame_rates (std::optional< ::std::vector<uint32_t>> value)

Vector of possible frame rates supported. Values must be listed in ascending order.

Required.

void PcmSupportedFormats (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits