AvTranscoder  0.9.4
C++APIforLibav/FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
avtranscoder::ICodec Class Referenceabstract

#include <ICodec.hpp>

Public Member Functions

 ICodec (const ECodecType type, const std::string &codecName)
 
 ICodec (const ECodecType type, const AVCodecID codecId)
 
 ICodec (const ECodecType type, AVCodecContext &avCodecContext)
 
virtual ~ICodec ()=0
 
void openCodec ()
 Initialize the codec context. More...
 
std::string getCodecName () const
 
AVCodecID getCodecId () const
 
ECodecType getCodecType () const
 
int getLatency () const
 
OptionArray getOptions ()
 Get options as array. More...
 
OptionMapgetOptionsMap ()
 Get options as map. More...
 
OptiongetOption (const std::string &optionName)
 
AVCodecContext & getAVCodecContext ()
 
const AVCodecContext & getAVCodecContext () const
 
AVCodec & getAVCodec ()
 
const AVCodec & getAVCodec () const
 

Protected Attributes

AVCodecContext * _avCodecContext
 Full codec instance description (has ownership) More...
 
AVCodec * _avCodec
 Codec abstract description. More...
 
const bool _isCodecContextAllocated
 Is the AVCodecContext allocated by the class. More...
 
ECodecType _type
 
OptionMap _options
 

Private Member Functions

 ICodec (const ICodec &iCodec)
 
ICodecoperator= (const ICodec &iCodec)
 
void setCodec (const ECodecType type, const std::string &codecName)
 
void setCodec (const ECodecType type, const AVCodecID codecId)
 
void allocateContext ()
 
void loadCodecOptions ()
 

Detailed Description

Definition at line 25 of file ICodec.hpp.

Constructor & Destructor Documentation

avtranscoder::ICodec::ICodec ( const ICodec iCodec)
private
avtranscoder::ICodec::ICodec ( const ECodecType  type,
const std::string &  codecName 
)

Definition at line 13 of file ICodec.cpp.

References allocateContext(), loadCodecOptions(), and setCodec().

avtranscoder::ICodec::ICodec ( const ECodecType  type,
const AVCodecID  codecId 
)

Definition at line 24 of file ICodec.cpp.

References allocateContext(), loadCodecOptions(), and setCodec().

avtranscoder::ICodec::ICodec ( const ECodecType  type,
AVCodecContext &  avCodecContext 
)

Definition at line 35 of file ICodec.cpp.

References _avCodecContext, loadCodecOptions(), and setCodec().

avtranscoder::ICodec::~ICodec ( )
pure virtual

Definition at line 45 of file ICodec.cpp.

References _avCodecContext, and _isCodecContextAllocated.

Member Function Documentation

void avtranscoder::ICodec::allocateContext ( )
private

Definition at line 146 of file ICodec.cpp.

References _avCodec, and _avCodecContext.

Referenced by ICodec().

AVCodec& avtranscoder::ICodec::getAVCodec ( )
inline
const AVCodec& avtranscoder::ICodec::getAVCodec ( ) const
inline

Definition at line 56 of file ICodec.hpp.

const AVCodecContext& avtranscoder::ICodec::getAVCodecContext ( ) const
inline

Definition at line 54 of file ICodec.hpp.

AVCodecID avtranscoder::ICodec::getCodecId ( ) const

Definition at line 94 of file ICodec.cpp.

References _avCodecContext.

std::string avtranscoder::ICodec::getCodecName ( ) const
ECodecType avtranscoder::ICodec::getCodecType ( ) const
inline

Definition at line 43 of file ICodec.hpp.

int avtranscoder::ICodec::getLatency ( ) const

Definition at line 100 of file ICodec.cpp.

References _avCodecContext.

Referenced by avtranscoder::StreamTranscoder::preProcessCodecLatency().

Option& avtranscoder::ICodec::getOption ( const std::string &  optionName)
inline
std::vector< Option > avtranscoder::ICodec::getOptions ( )

Get options as array.

Definition at line 106 of file ICodec.cpp.

References _options.

OptionMap& avtranscoder::ICodec::getOptionsMap ( )
inline

Get options as map.

Definition at line 48 of file ICodec.hpp.

void avtranscoder::ICodec::loadCodecOptions ( )
private
ICodec& avtranscoder::ICodec::operator= ( const ICodec iCodec)
private
void avtranscoder::ICodec::setCodec ( const ECodecType  type,
const std::string &  codecName 
)
private

Definition at line 116 of file ICodec.cpp.

Referenced by ICodec().

void avtranscoder::ICodec::setCodec ( const ECodecType  type,
const AVCodecID  codecId 
)
private

Field Documentation

AVCodec* avtranscoder::ICodec::_avCodec
protected

Codec abstract description.

Definition at line 67 of file ICodec.hpp.

Referenced by allocateContext(), openCodec(), and setCodec().

const bool avtranscoder::ICodec::_isCodecContextAllocated
protected

Is the AVCodecContext allocated by the class.

Definition at line 68 of file ICodec.hpp.

Referenced by ~ICodec().

OptionMap avtranscoder::ICodec::_options
protected

Definition at line 72 of file ICodec.hpp.

Referenced by getOptions(), and loadCodecOptions().

ECodecType avtranscoder::ICodec::_type
protected

Definition at line 70 of file ICodec.hpp.

Referenced by loadCodecOptions().


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