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...
 
OptionMap & getOptionsMap ()
 Get options as map. More...
 
Option & getOption (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)
 
ICodec & operator= (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: