template <typename CodecParams>
class CodecAdapterSWImpl
Defined at line 18 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 34 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
void ~CodecAdapterSWImpl<CodecParams> ()
Defined at line 36 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
fuchsia_sysmem2::BufferCollectionConstraints CoreCodecGetBufferCollectionConstraints2 (CodecPort port, const fuchsia::media::StreamBufferConstraints & stream_buffer_constraints, const fuchsia::media::StreamBufferPartialSettings & partial_settings)
Defined at line 38 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 71 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
void CoreCodecStopStream ()
Defined at line 75 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
Protected Methods
void ProcessInputLoop ()
Defined at line 90 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
void InitChunkInputStream (const fuchsia::media::FormatDetails & format_details)
Defined at line 131 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
void CleanUpAfterStream ()
Defined at line 209 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
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_t input_data_size, uint8_t * output_buffer, size_t output_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 ResetCodecParams ()
Reset codec params. Default behaviour is to reset it to null option.
Defined at line 244 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h
Enumerations
enum InputLoopStatus
| Name | Value |
|---|---|
| kOk | 0 |
| kShouldTerminate | 1 |
Defined at line 20 of file ../../src/media/codec/codecs/sw/codec_adapter_sw_impl.h