class PcmSupportedFormats

Defined at line 7121 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.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 Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

PcmSupportedFormats & set_channel_sets (::std::vector< ::fuchsia::hardware::audio::ChannelSet> _value)
PcmSupportedFormats & set_sample_formats (::std::vector< ::fuchsia::hardware::audio::SampleFormat> _value)
PcmSupportedFormats & set_bytes_per_sample (::std::vector<uint8_t> _value)
PcmSupportedFormats & set_valid_bits_per_sample (::std::vector<uint8_t> _value)
PcmSupportedFormats & set_frame_rates (::std::vector<uint32_t> _value)
void PcmSupportedFormats ()
void PcmSupportedFormats (PcmSupportedFormats && other)
void ~PcmSupportedFormats ()
PcmSupportedFormats & operator= (PcmSupportedFormats && other)
::std::unique_ptr<PcmSupportedFormats> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, PcmSupportedFormats * _value, size_t _offset)
zx_status_t Clone (PcmSupportedFormats * _result)
const ::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.

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

bool has_channel_sets ()

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

::std::vector< ::fuchsia::hardware::audio::ChannelSet> * mutable_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.

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

void clear_channel_sets ()

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

const ::std::vector< ::fuchsia::hardware::audio::SampleFormat> & sample_formats ()

Vector of possible `SampleFormat`s supported.

Required.

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

bool has_sample_formats ()

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

::std::vector< ::fuchsia::hardware::audio::SampleFormat> * mutable_sample_formats ()

Vector of possible `SampleFormat`s supported.

Required.

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

void clear_sample_formats ()

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

const ::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.

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

bool has_bytes_per_sample ()

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

::std::vector<uint8_t> * mutable_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.

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

void clear_bytes_per_sample ()

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

const ::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.

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

bool has_valid_bits_per_sample ()

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

::std::vector<uint8_t> * mutable_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.

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

void clear_valid_bits_per_sample ()

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

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

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

Required.

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

bool has_frame_rates ()

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

::std::vector<uint32_t> * mutable_frame_rates ()

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

Required.

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

void clear_frame_rates ()

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