template <typename CodecParams>
class CodecAdapterSWImpl
Defined at line 19 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
Protected Members
std::optional<CodecParams> codec_params_
Public Methods
void CodecAdapterSWImpl<CodecParams> (std::mutex & lock, CodecAdapterEvents * codec_adapter_events)
Defined at line 35 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
void ~CodecAdapterSWImpl<CodecParams> ()
Defined at line 37 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
fuchsia_sysmem2::BufferCollectionConstraints CoreCodecGetBufferCollectionConstraints2 (CodecPortport,const fuchsia::media::StreamBufferConstraints &stream_buffer_constraints,const fuchsia::media::StreamBufferPartialSettings &partial_settings)
Defined at line 39 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
void CoreCodecSetBufferCollectionInfo (CodecPort port, const fuchsia_sysmem2::BufferCollectionInfo & buffer_collection_info)
Defined at line 72 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
Protected Methods
InputLoopStatus ProcessFormatDetails (const fuchsia::media::FormatDetails & format_details)
Processes format details and initializes appropriate internal configurations based
on it.
`codec_params_` should be initialized in this method.
int ProcessInputChunkData (const uint8_t *input_data,size_tinput_data_size,uint8_t *output_buffer,size_toutput_buffer_size)
Processes the data from input data. If processing was successful, returns the number
of output data bytes produced. If an error occurred, it returns -1.
For encoder, this method encodes the input data. For decoder, it decodes the input data.
The method manipulates the output buffer.
size_t InputChunkSize ()
The minimum frame size (number of input data bytes that can be processed) is 1 byte.
For convenience and intuition, we enforce the same for `ChunkInputStream::InputBlock`.
size_t MinOutputBufferSize ()
Returns the minimum number of bytes required to hold output data that is produced from
processing a single input chunk.
fuchsia::sysmem::BufferCollectionConstraints BufferCollectionConstraints (const CodecPort port)
Returns the constraints to use for `CodecAdapter::CoreCodecGetBufferCollectionConstraints`
depending on the port. The fields used are:
- fuchsia::sysmem::BufferCollectionConstraints.min_buffer_count_for_camping
- fuchsia::sysmem::BufferCollectionConstraintsbuffer_memory_constraints.min_size_bytes
- fuchsia::sysmem::BufferCollectionConstraintsbuffer_memory_constraints.max_size_bytes
TimestampExtrapolator CreateTimestampExtrapolator (const fuchsia::media::FormatDetails & format_details)
void ProcessInputLoop ()
Defined at line 77 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
void InitChunkInputStream (const fuchsia::media::FormatDetails & format_details)
Defined at line 140 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
void CleanUpAfterStream ()
Defined at line 237 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
void ResetCodecParams ()
Reset codec params. Default behaviour is to reset it to null option.
Defined at line 287 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
Enumerations
enum InputLoopStatus
| Name | Value | Comments |
|---|---|---|
| kOk | 0 |
Indicates the loop should continue. |
| kShouldTerminate | 1 |
Indicates the loop should break/terminate. |
Defined at line 21 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h