class DecryptorAdapter

Defined at line 24 of file ../../src/media/lib/codec_impl/include/lib/media/codec_impl/decryptor_adapter.h

Public Methods

void DecryptorAdapter (std::mutex & lock, CodecAdapterEvents * codec_adapter_events)

Defined at line 33 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void DecryptorAdapter (std::mutex & lock, CodecAdapterEvents * codec_adapter_events, inspect::Node inspect_node)

Defined at line 39 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void ~DecryptorAdapter ()

Defined at line 56 of file ../../src/media/lib/codec_impl/include/lib/media/codec_impl/decryptor_adapter.h

bool IsCoreCodecRequiringOutputConfigForFormatDetection ()

CodecAdapter implementations

Defined at line 59 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

bool IsCoreCodecMappedBufferUseful (CodecPort port)

Defined at line 61 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

bool IsCoreCodecHwBased (CodecPort port)

Defined at line 66 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

bool IsSupportsMidStreamOutputConstraintsChange ()

Defined at line 68 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecInit (const fuchsia::media::FormatDetails & initial_input_format_details)

Defined at line 70 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecSetSecureMemoryMode (CodecPort port, fuchsia::mediacodec::SecureMemoryMode secure_memory_mode)

Defined at line 82 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

fuchsia_sysmem2::BufferCollectionConstraints CoreCodecGetBufferCollectionConstraints2 (CodecPort port, const fuchsia::media::StreamBufferConstraints & stream_buffer_constraints, const fuchsia::media::StreamBufferPartialSettings & partial_settings)

Defined at line 103 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecSetBufferCollectionInfo (CodecPort port, const fuchsia_sysmem2::BufferCollectionInfo & buffer_collection_info)

Defined at line 143 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecStartStream ()

Defined at line 180 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecQueueInputFormatDetails (const fuchsia::media::FormatDetails & per_stream_override_format_details)

Defined at line 192 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecQueueInputPacket (CodecPacket * packet)

Defined at line 197 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecQueueInputEndOfStream ()

Defined at line 201 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecStopStream ()

Defined at line 208 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecAddBuffer (CodecPort port, const CodecBuffer * buffer)

Defined at line 242 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecConfigureBuffers (CodecPort port, const std::vector<std::unique_ptr<CodecPacket>> & packets)

Defined at line 256 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecRecycleOutputPacket (CodecPacket * packet)

Defined at line 286 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecEnsureBuffersNotConfigured (CodecPort port)

Defined at line 300 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

std::unique_ptr<const fuchsia::media::StreamBufferConstraints> CoreCodecBuildNewInputConstraints ()

Defined at line 328 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

std::unique_ptr<const fuchsia::media::StreamOutputConstraints> CoreCodecBuildNewOutputConstraints (uint64_t stream_lifetime_ordinal, uint64_t new_output_buffer_constraints_version_ordinal, bool buffer_constraints_action_required)

Defined at line 335 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

fuchsia::media::StreamOutputFormat CoreCodecGetOutputFormat (uint64_t stream_lifetime_ordinal, uint64_t new_output_format_details_version_ordinal)

Defined at line 355 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecMidStreamOutputBufferReConfigPrepare ()

Defined at line 369 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

std::optional<fuchsia::media::StreamError> Decrypt (const EncryptionParams & params, const InputBuffer & input, const OutputBuffer & output, CodecPacket * output_packet)

Decryptor interface

void DecryptorAdapter (const DecryptorAdapter & )

Disallow move, copy and assign.

Defined at line 95 of file ../../src/media/lib/codec_impl/include/lib/media/codec_impl/decryptor_adapter.h

void DecryptorAdapter (DecryptorAdapter && )

Defined at line 96 of file ../../src/media/lib/codec_impl/include/lib/media/codec_impl/decryptor_adapter.h

DecryptorAdapter & operator= (const DecryptorAdapter & )

Defined at line 97 of file ../../src/media/lib/codec_impl/include/lib/media/codec_impl/decryptor_adapter.h

DecryptorAdapter & operator= (DecryptorAdapter && )

Defined at line 98 of file ../../src/media/lib/codec_impl/include/lib/media/codec_impl/decryptor_adapter.h

void CoreCodecMidStreamOutputBufferReConfigFinish ()

Defined at line 374 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

Protected Methods

void SetProcessingSchedulerProfile (zx::unowned_thread input_processing_thread)

SetProcessingSchedulerProfile

If desired, the DecryptorAdapter implementation can set a scheduler profile on the input

processing thread. DecryptorAdapter will call this function after the creation of the input

processing thread to give the implementation an opportunity to set a scheduler profile on the

thread. Ownership of the thread remains with DecryptorAdapter and callers should duplicate the

handle if necessary (such as for passing to fuchsia.media.ProfileProvider).

TODO(https://fxbug.dev/42149456): Generalize this mechanism for all codec_impl threads

Defined at line 122 of file ../../src/media/lib/codec_impl/include/lib/media/codec_impl/decryptor_adapter.h

bool is_secure ()

Defined at line 124 of file ../../src/media/lib/codec_impl/include/lib/media/codec_impl/decryptor_adapter.h

fuchsia_sysmem2::BufferMemoryConstraints GetSecureOutputMemoryConstraints2 ()

GetSecureOutputMemoryConstraints2

If the specialized Decryptor supports working with secure memory, it should override one of

these methods (preferably GetSecureOutputMemoryConstraints2) to provide the proper coherency

and permitted heaps that it can support.

Defined at line 378 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

Records