CoreSDK  v1.0.0.b1304
Public Member Functions | Protected Attributes | List of all members
r5::common::Codec Class Referenceabstract

Common interface to use in-built codecs. More...

#include <r5codec.h>

Collaboration diagram for r5::common::Codec:
Collaboration graph
[legend]

Public Member Functions

virtual int InitEncoder (MediaTransform &desc, const EncoderSettings &set)=0
 Initialize codec as encoder. More...
 
virtual int InitDecoder (MediaTransform &desc)=0
 Initialize codec as decoder. More...
 
virtual int32_t AddData (std::unique_ptr< uint8_t[]> inputBuffer, uint32_t inputBufferSize, uint32_t inputTimestamp)=0
 Add data chunk to process. More...
 
virtual int32_t GetData (std::unique_ptr< uint8_t[]> &outputBuffer, uint32_t &outputBufferSize, uint32_t &outputTimestamp)=0
 Get processed data. More...
 
const CodecState GetCurrentState () const
 Get the Current State of codec. More...
 
const MediaTransformGetMediaTransform () const
 Get the Media Transform used for codec initialization. More...
 
const std::string Name () const
 Get short name of codec. More...
 
const std::string FullName () const
 Get full name of codec. More...
 
virtual DataType GetDataType () const =0
 Get the media type (video or audio) More...
 
const CodecType Type () const
 Get codec type. More...
 
const CodecDirection Direction () const
 Get coding direction. More...
 
bool isHardware () const
 Show if codec has hardware acceleration. More...
 

Protected Attributes

MediaTransform mDesc
 
CodecState mState = CodecState::Undefined
 
ILoggerPtr mLogger
 
std::string mName
 
std::string mFullName
 
CodecType mType = CodecType::Undefined
 
CodecDirection mDirection = CodecDirection::Undefined
 
CodecImplType mCodecImplType = CodecImplType::Software
 

Detailed Description

Common interface to use in-built codecs.

Member Function Documentation

◆ AddData()

virtual int32_t r5::common::Codec::AddData ( std::unique_ptr< uint8_t[]>  inputBuffer,
uint32_t  inputBufferSize,
uint32_t  inputTimestamp 
)
pure virtual

Add data chunk to process.

Parameters
inputBufferPointer to input data buffer
inputBufferSizeSize of data buffer in bytes
inputTimestampTimestamp for processing data
Returns
0 on success, negative on fail

◆ Direction()

const CodecDirection r5::common::Codec::Direction ( ) const
inline

Get coding direction.

Returns
CodecDirection

◆ FullName()

const std::string r5::common::Codec::FullName ( ) const
inline

Get full name of codec.

Returns
String with name of codec

◆ GetCurrentState()

const CodecState r5::common::Codec::GetCurrentState ( ) const
inline

Get the Current State of codec.

Returns
State of codec

◆ GetData()

virtual int32_t r5::common::Codec::GetData ( std::unique_ptr< uint8_t[]> &  outputBuffer,
uint32_t &  outputBufferSize,
uint32_t &  outputTimestamp 
)
pure virtual

Get processed data.

Parameters
outputBufferPointer to output data buffer
outputBufferSizeSize of data buffer in bytes
outputTimestampTimestamp of processed data
Returns
0 on success, negative on fail

◆ GetDataType()

virtual DataType r5::common::Codec::GetDataType ( ) const
pure virtual

Get the media type (video or audio)

Returns
DataType

◆ GetMediaTransform()

const MediaTransform& r5::common::Codec::GetMediaTransform ( ) const
inline

Get the Media Transform used for codec initialization.

Returns
MediaTransform

◆ InitDecoder()

virtual int r5::common::Codec::InitDecoder ( MediaTransform desc)
pure virtual

Initialize codec as decoder.

Parameters
descDescritpion of media data to decode
Returns
0 on success, negative on fail

◆ InitEncoder()

virtual int r5::common::Codec::InitEncoder ( MediaTransform desc,
const EncoderSettings set 
)
pure virtual

Initialize codec as encoder.

Parameters
descDescritpion of media data to encode
setEncoder settings
Returns
0 on success, negative on fail

◆ isHardware()

bool r5::common::Codec::isHardware ( ) const
inline

Show if codec has hardware acceleration.

Returns
true if accelerated
false software implemntation

◆ Name()

const std::string r5::common::Codec::Name ( ) const
inline

Get short name of codec.

Returns
String with name of codec

◆ Type()

const CodecType r5::common::Codec::Type ( ) const
inline

Get codec type.

Returns
CodecType

The documentation for this class was generated from the following file: