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)