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)

Records