class CodecFactoryApp

Defined at line 25 of file ../../src/media/codec/factory/codec_factory_app.h

CodecFactoryApp is singleton per-process.

Public Methods

async_dispatcher_t * dispatcher ()

Defined at line 55 of file ../../src/media/codec/factory/codec_factory_app.h

const std::string & board_name ()

Defined at line 56 of file ../../src/media/codec/factory/codec_factory_app.h

CodecFactoryPolicy & policy ()

Defined at line 58 of file ../../src/media/codec/factory/codec_factory_app.h

void CodecFactoryApp (async_dispatcher_t * dispatcher, ProdOrTest prod_or_test)

board_name_ initialization requires startup_context_ already initialized.

policy_ initialization requires board_name_ already initialized.

Defined at line 155 of file ../../src/media/codec/factory/codec_factory_app.cc

const fuchsia::mediacodec::CodecFactoryPtr * FindHwCodec (fit::function<bool (const fuchsia::mediacodec::DetailedCodecDescription &)> is_match)

The caller must only call this on the FIDL thread, and the returned * is

only valid for use until the caller returns from the caller's work on the

FIDL thread. The caller must not stash the returned * beyond the caller's

return from the caller's work on the FIDL thread, as the next item of work

on the FIDL thread could ~CodecFactoryPtr or similar.

This method can return nullptr if a HW decoder isn't found...

Defined at line 278 of file ../../src/media/codec/factory/codec_factory_app.cc

std::optional<std::string> FindHwIsolate (fit::function<bool (const fuchsia::mediacodec::DetailedCodecDescription &)> is_match)

Defined at line 299 of file ../../src/media/codec/factory/codec_factory_app.cc

std::vector<fuchsia::mediacodec::CodecDescription> MakeCodecList ()

All of the current supported hardware and software decoders, randomly shuffled

so as to avoid clients depending on the order.

TODO(schottm): send encoders as well

Defined at line 211 of file ../../src/media/codec/factory/codec_factory_app.cc

std::vector<fuchsia::mediacodec::DetailedCodecDescription> MakeDetailedCodecDescriptions ()

Defined at line 242 of file ../../src/media/codec/factory/codec_factory_app.cc

Enumerations

enum class ProdOrTest
Name Value Comments
kProduction 0 --
kTesting 1

In tests, the outgoing directory will not be serviced, since test
components do not have access to the outgoing directory server endpoint
in their process startup info.

Defined at line 27 of file ../../src/media/codec/factory/codec_factory_app.h