template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 3347 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_types.h
Public Methods
::fuchsia_media::wire::FormatDetails Build ()
Build and return the table. The builder should not be used after this.
bool has_format_details_version_ordinal ()
void clear_format_details_version_ordinal ()
Clears the format_details_version_ordinal field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint64_t & format_details_version_ordinal ()
Getter for format_details_version_ordinal.
BuilderImpl & format_details_version_ordinal (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)
Setter for format_details_version_ordinal.
bool has_mime_type ()
void clear_mime_type ()
Clears the mime_type field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::StringView & mime_type ()
Getter for mime_type.
BuilderImpl & mime_type (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)
Setter for mime_type.
bool has_oob_bytes ()
void clear_oob_bytes ()
Clears the oob_bytes field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView<uint8_t> & oob_bytes ()
Getter for oob_bytes.
BuilderImpl & oob_bytes (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView<uint8_t>>> elem)
Setter for oob_bytes.
bool has_domain ()
void clear_domain ()
Clears the domain field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_media::wire::DomainFormat & domain ()
Getter for domain.
BuilderImpl & domain (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_media::wire::DomainFormat>> elem)
Setter for domain.
bool has_pass_through_parameters ()
void clear_pass_through_parameters ()
Clears the pass_through_parameters field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fuchsia_media::wire::Parameter> & pass_through_parameters ()
Getter for pass_through_parameters.
BuilderImpl & pass_through_parameters (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_media::wire::Parameter>>> elem)
Setter for pass_through_parameters.
bool has_encoder_settings ()
void clear_encoder_settings ()
Clears the encoder_settings field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_media::wire::EncoderSettings & encoder_settings ()
Instructs an encoder on how to encode raw data.
Decoders may ignore this field but are entitled to rejected requests with
this field set because it doesn't make sense.
BuilderImpl & encoder_settings (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_media::wire::EncoderSettings>> elem)
Instructs an encoder on how to encode raw data.
Decoders may ignore this field but are entitled to rejected requests with
this field set because it doesn't make sense.
bool has_timebase ()
void clear_timebase ()
Clears the timebase field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint64_t & timebase ()
The number of ticks of the timebase of input packet timestamp_ish values
per second.
The timebase is only used used for optional extrapolation of timestamp_ish
values when an input timestamp which applies to byte 0 of the valid portion
of the input packet does not correspond directly to byte 0 of the valid
portion of any output packet.
Leave unset if timestamp extrapolation is not needed, either due to lack of
timestamps on input, or due to input being provided in increments of the
encoder's input chunk size (based on the encoder settings and calculated
independently by the client). Set if timestamp extrapolation is known to be
needed or known to be acceptable to the client.
BuilderImpl & timebase (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)
The number of ticks of the timebase of input packet timestamp_ish values
per second.
The timebase is only used used for optional extrapolation of timestamp_ish
values when an input timestamp which applies to byte 0 of the valid portion
of the input packet does not correspond directly to byte 0 of the valid
portion of any output packet.
Leave unset if timestamp extrapolation is not needed, either due to lack of
timestamps on input, or due to input being provided in increments of the
encoder's input chunk size (based on the encoder settings and calculated
independently by the client). Set if timestamp extrapolation is known to be
needed or known to be acceptable to the client.
bool has_profile ()
void clear_profile ()
Clears the profile field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_media::wire::CodecProfile & profile ()
The codec profile for the given encoder or decoder.
For encoders: This value is completely optional. A client may want to specify the codec
profile used for protocol compatibility reasons (i.e. WebRTC). However if the value is not
set then the the encoder is free to choose any supported codec profile.
For decoders: This value is optional but providing it is best practice (at least of
unencrypted streams). Container formats include the encoded profile and this should be
provided to the decoder. Certain formats like VP9 and AV1 include the encoded profile in
their elementary bitstream so it is possible for those decoders to figure out the profile
the stream is encoded in. Regardless, clients should provide the encoded profile if
possible.
BuilderImpl & profile (::fuchsia_media::wire::CodecProfile elem)
The codec profile for the given encoder or decoder.
For encoders: This value is completely optional. A client may want to specify the codec
profile used for protocol compatibility reasons (i.e. WebRTC). However if the value is not
set then the the encoder is free to choose any supported codec profile.
For decoders: This value is optional but providing it is best practice (at least of
unencrypted streams). Container formats include the encoded profile and this should be
provided to the decoder. Certain formats like VP9 and AV1 include the encoded profile in
their elementary bitstream so it is possible for those decoders to figure out the profile
the stream is encoded in. Regardless, clients should provide the encoded profile if
possible.
Protected Methods
void WireTableBaseBuilder< ::fuchsia_media::wire::FormatDetails, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_media::wire::FormatDetails>> && frame)