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