class CodecDescription

Defined at line 949 of file fidling/gen/sdk/fidl/fuchsia.mediacodec/fuchsia.mediacodec/hlcpp/fuchsia/mediacodec/cpp/fidl.h

Deprecated.

Rather than listening for OnCodecList, clients needing codec information prior to just

requesting a codec with CodecFactory.CreateDecoder or CodecFactory.CreateEncoder should instead

use GetDetailedCodecDescriptions to get the DetailedCodecDescription table instead, which has

per-profile-entry equivalents of all these fields. Clients with no real need for codec

information prior to requesting a codec can call CodecFactory.CreateDecoder or

CodecFactory.CreateEncoder with relevant requirements set in that request, and then

StreamProcessor.Sync to see if a codec was actually created successfully.

In contrast to OnCodecList which uses FIDL structs (due to ordering of historical events),

GetDetailedCodecDescriptions uses FIDL tables so is not expected to need to be deprecated, since

we can add new table fields as needed, and gradually deprecate old table fields if appropriate,

without deprecating the whole thing.

Per-codec servers do not need to fill out this struct or send OnCodecList, as the main

CodecFactory will construct the OnCodecList info from the GetDetailedCodecDescriptions info, so

that each codec can (optionally) stop sending OnCodecList immediately, rather than having to

wait for all clients to stop listening to OnCodecList, which may take a while. All codecs _do_

need to implement GetDetailedCodecDescriptions however.

Public Members

CodecType codec_type
basic_string mime_type
bool can_stream_bytes_input
bool can_find_start
bool can_re_sync
bool will_report_all_detected_errors
bool is_hw
bool split_header_handling

Public Methods

::std::unique_ptr<CodecDescription> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, CodecDescription * value, size_t _offset)
zx_status_t Clone (CodecDescription * result)