class PcmSupportedFormats
Defined at line 4499 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_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
bool IsEmpty ()
Returns whether no field is set.
bool HasUnknownData ()
Returns whether the table references unknown fields.
::fidl::WireTableBuilder< ::fuchsia_hardware_audio::wire::PcmSupportedFormats> Builder (::fidl::AnyArena & arena)
Return a builder that by defaults allocates of an arena.
::fidl::WireTableExternalBuilder< ::fuchsia_hardware_audio::wire::PcmSupportedFormats> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio::wire::PcmSupportedFormats>> frame)
Return a builder that relies on explicitly allocating |fidl::ObjectView|s.
void Allocate (::fidl::AnyArena & allocator)
void Init (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio::wire::PcmSupportedFormats>> && frame_ptr)
void PcmSupportedFormats ()
Defined at line 4501 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_types.h
void PcmSupportedFormats (const PcmSupportedFormats & other)
Defined at line 4502 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_types.h
void PcmSupportedFormats (PcmSupportedFormats && other)
Defined at line 4504 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_types.h
::fidl::VectorView< ::fuchsia_hardware_audio::wire::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.
bool has_channel_sets ()
PcmSupportedFormats & operator= (PcmSupportedFormats && other)
Defined at line 4505 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_types.h
::fidl::VectorView< ::fuchsia_hardware_audio::wire::SampleFormat> & sample_formats ()
Vector of possible `SampleFormat`s supported.
Required.
bool has_sample_formats ()
::fidl::VectorView<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.
bool has_bytes_per_sample ()
::fidl::VectorView<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.
bool has_valid_bits_per_sample ()
::fidl::VectorView<uint32_t> & frame_rates ()
Vector of possible frame rates supported. Values must be listed in ascending order.
Required.
bool has_frame_rates ()
PcmSupportedFormats & operator= (const PcmSupportedFormats & other)
Defined at line 4503 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_types.h
PcmSupportedFormats & set_channel_sets (::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_hardware_audio::wire::ChannelSet>> elem)
PcmSupportedFormats & set_channel_sets (std::nullptr_t )
PcmSupportedFormats & clear_channel_sets ()
PcmSupportedFormats & set_sample_formats (::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_hardware_audio::wire::SampleFormat>> elem)
PcmSupportedFormats & set_sample_formats (std::nullptr_t )
PcmSupportedFormats & clear_sample_formats ()
PcmSupportedFormats & set_bytes_per_sample (::fidl::ObjectView< ::fidl::VectorView<uint8_t>> elem)
PcmSupportedFormats & set_bytes_per_sample (std::nullptr_t )
PcmSupportedFormats & clear_bytes_per_sample ()
PcmSupportedFormats & set_valid_bits_per_sample (::fidl::ObjectView< ::fidl::VectorView<uint8_t>> elem)
PcmSupportedFormats & set_valid_bits_per_sample (std::nullptr_t )
PcmSupportedFormats & clear_valid_bits_per_sample ()
PcmSupportedFormats & set_frame_rates (::fidl::ObjectView< ::fidl::VectorView<uint32_t>> elem)
PcmSupportedFormats & set_frame_rates (std::nullptr_t )
PcmSupportedFormats & clear_frame_rates ()
void PcmSupportedFormats (::fidl::AnyArena & allocator)
void PcmSupportedFormats (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio::wire::PcmSupportedFormats>> && frame)
This constructor allows a user controlled allocation (not using a Arena).
It should only be used when performance is key.
As soon as the frame is given to the table, it must not be used directly or for another table.
void ~PcmSupportedFormats ()
Defined at line 4507 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_types.h
Friends
class WireTableBaseBuilder
class WireTableBaseBuilder