template <typename LocalOutput>
class CodecAdapterSW
Defined at line 46 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
Protected Members
BlockingMpscQueue input_queue_
BlockingMpscQueue free_output_packets_
BufferPool output_buffer_pool_
std::map<CodecPacket *, LocalOutput> in_use_by_client_
vector staged_output_buffers_
uint64_t input_format_details_version_ordinal_
Loop input_processing_loop_
thrd_t input_processing_thread_
Public Methods
void CodecAdapterSW<LocalOutput> (std::mutex & lock, CodecAdapterEvents * codec_adapter_events)
Defined at line 48 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void ~CodecAdapterSW<LocalOutput> ()
Defined at line 56 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
bool IsCoreCodecRequiringOutputConfigForFormatDetection ()
Defined at line 58 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
bool IsCoreCodecMappedBufferUseful (CodecPort port)
Defined at line 60 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
bool IsCoreCodecHwBased (CodecPort port)
Defined at line 62 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecInit (const fuchsia::media::FormatDetails & initial_input_format_details)
Defined at line 64 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecAddBuffer (CodecPort port, const CodecBuffer * buffer)
Defined at line 85 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecConfigureBuffers (CodecPort port, const std::vector<std::unique_ptr<CodecPacket>> & packets)
Defined at line 93 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecStartStream ()
Defined at line 108 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecQueueInputFormatDetails (const fuchsia::media::FormatDetails & per_stream_override_format_details)
Defined at line 126 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecQueueInputPacket (CodecPacket * packet)
Defined at line 137 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecQueueInputEndOfStream ()
Defined at line 142 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecStopStream ()
Defined at line 146 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecRecycleOutputPacket (CodecPacket * packet)
Defined at line 166 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecEnsureBuffersNotConfigured (CodecPort port)
Defined at line 188 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecMidStreamOutputBufferReConfigPrepare ()
Defined at line 216 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void CoreCodecMidStreamOutputBufferReConfigFinish ()
Defined at line 220 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
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 222 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
fuchsia::media::StreamOutputFormat CoreCodecGetOutputFormat (uint64_t stream_lifetime_ordinal, uint64_t new_output_format_details_version_ordinal)
Defined at line 240 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
Protected Methods
void CleanUpAfterStream ()
Releases any resources from the just-ended stream.
void WaitForInputProcessingLoopToEnd ()
Defined at line 254 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void LoadStagedOutputBuffers ()
We don't give the codec any buffers in its output pool until
configuration is finished or a stream starts. Until finishing
configuration we stage all the buffers. Here we load all the staged
buffers so the codec can make output.
Defined at line 283 of file ../../src/media/codec/codecs/sw/codec_adapter_sw.h
void ProcessInputLoop ()
Processes input in a loop. Should only execute on input_processing_thread_.
Loops for the lifetime of a stream.
std::pair<fuchsia::media::FormatDetails, size_t> OutputFormatDetails ()
Returns the format details of the output and the bytes needed to store each
output packet.