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

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

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

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

Defined at line 80 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 101 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 94 of file ../../src/media/lib/codec_impl/include/lib/media/codec_impl/decryptor_adapter.h

void DecryptorAdapter (DecryptorAdapter && )

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

DecryptorAdapter & operator= (const DecryptorAdapter & )

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

DecryptorAdapter & operator= (DecryptorAdapter && )

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

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

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

void CoreCodecStartStream ()

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

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

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

void CoreCodecQueueInputPacket (CodecPacket * packet)

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

void CoreCodecQueueInputEndOfStream ()

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

void CoreCodecStopStream ()

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

void CoreCodecAddBuffer (CodecPort port, const CodecBuffer * buffer)

Defined at line 240 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 254 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecRecycleOutputPacket (CodecPacket * packet)

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

void CoreCodecEnsureBuffersNotConfigured (CodecPort port)

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

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

Defined at line 326 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 333 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 353 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

void CoreCodecMidStreamOutputBufferReConfigPrepare ()

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

void CoreCodecMidStreamOutputBufferReConfigFinish ()

Defined at line 371 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 121 of file ../../src/media/lib/codec_impl/include/lib/media/codec_impl/decryptor_adapter.h

bool is_secure ()

Defined at line 123 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 375 of file ../../src/media/lib/codec_impl/decryptor_adapter.cc

Records