class FormatDetails

Defined at line 3203 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_types.h

FormatDetails

This describes/details the format on input or output of a StreamProcessor

(separate instances for input vs. output).

Public Methods

void FormatDetails ()

Defined at line 3205 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_types.h

void FormatDetails (const FormatDetails & other)

Defined at line 3206 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_types.h

bool IsEmpty ()

Returns whether no field is set.

bool HasUnknownData ()

Returns whether the table references unknown fields.

::fidl::WireTableBuilder< ::fuchsia_media::wire::FormatDetails> Builder (::fidl::AnyArena & arena)

Return a builder that by defaults allocates of an arena.

::fidl::WireTableExternalBuilder< ::fuchsia_media::wire::FormatDetails> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_media::wire::FormatDetails>> frame)

Return a builder that relies on explicitly allocating |fidl::ObjectView|s.

uint64_t & format_details_version_ordinal ()

Particular instances of FormatDetails will set this field to make it

easier for a receiver to determine if any part of the format has changed

vs. the last FormatDetails received for the same context.

For StreamProcessor input: At StreamProcessor creation time, initial

input FormatDetails are provided with an initial

format_details_version_ordinal (typically 0, and defaulting to 0 in

CodecImpl if omitted, though clients should set it). Within a given

stream, each QueueInputFormatDetails must have

format_details_version_ordinal >= the previous input

format_details_version_ordinal for that stream, and must strictly

increase format_details_version_ordinal if any part of FormatDetails

changes vs. the previous input FormatDetails for that stream. When

starting a new stream, the stream's initial input FormatDetails (and its

format_details_version_ordinal) defaults back to the initial

FormatDetails specified at StreamProcessor creation time, so the ordinal

can drop to a lower number across a stream switch.

For StreamProcessor output: Within a given stream, OnOutputFormat's

format_details_version_ordinal increases whenever the output

FormatDetails changes. Across a stream switch, a server (such as

CodecImpl) may continue increasing output format_details_version_ordinal

rather than resetting it per stream, which is a permitted sequence, or

may drop to a lower number across a stream switch (an OnOutputFormat is

always sent before the first output packet of a new stream).

bool has_format_details_version_ordinal ()
::fidl::StringView & mime_type ()
bool has_mime_type ()
::fidl::VectorView<uint8_t> & oob_bytes ()
bool has_oob_bytes ()
::fuchsia_media::wire::DomainFormat & domain ()
bool has_domain ()
FormatDetails & operator= (const FormatDetails & other)

Defined at line 3207 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_types.h

void FormatDetails (FormatDetails && other)

Defined at line 3208 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_types.h

FormatDetails & operator= (FormatDetails && other)

Defined at line 3209 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_types.h

::fidl::VectorView< ::fuchsia_media::wire::Parameter> & pass_through_parameters ()
bool has_pass_through_parameters ()
::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.

bool has_encoder_settings ()
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.

bool has_timebase ()
::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.

bool has_profile ()
void ~FormatDetails ()

Defined at line 3211 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_types.h

Friends

class WireTableBaseBuilder
class WireTableBaseBuilder