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

Virtual based class of properties for all types of stream. More...

#include <StreamProperties.hpp>

Public Member Functions

 StreamProperties (const FormatContext &formatContext, const size_t index)
 
virtual ~StreamProperties ()=0
 
size_t getStreamIndex () const
 
size_t getStreamId () const
 
Rational getTimeBase () const
 
float getDuration () const
 in seconds More...
 
AVMediaType getStreamType () const
 
size_t getCodecId () const
 
std::string getCodecName () const
 
std::string getCodecLongName () const
 
const PropertyVectorgetMetadatas () const
 
const AVFormatContext & getAVFormatContext () const
 
std::string asJson () const
 Return all properties as a json format. More...
 
PropertyMap asMap () const
 Return all properties as a map (name of property, value) More...
 
PropertyVector asVector () const
 Same data with a specific order. More...
 
virtual PropertyVectorfillVector (PropertyVector &data) const
 To avoid copy of the vector. More...
 

Protected Attributes

const AVFormatContext * _formatContext
 Has link (no ownership) More...
 
AVCodecContext * _codecContext
 Has link (no ownership) More...
 
AVCodec * _codec
 Has link (no ownership) More...
 
size_t _streamIndex
 
PropertyVector _metadatas
 

Private Member Functions

template<typename T >
void addProperty (PropertyVector &dataVector, const std::string &key, T(StreamProperties::*getter)(void) const) const
 

Detailed Description

Virtual based class of properties for all types of stream.

Definition at line 12 of file StreamProperties.hpp.

Constructor & Destructor Documentation

avtranscoder::StreamProperties::StreamProperties ( const FormatContext formatContext,
const size_t  index 
)
avtranscoder::StreamProperties::~StreamProperties ( )
pure virtual

Definition at line 35 of file StreamProperties.cpp.

Member Function Documentation

template<typename T >
void avtranscoder::StreamProperties::addProperty ( PropertyVector dataVector,
const std::string &  key,
T(StreamProperties::*)(void) const  getter 
) const
inlineprivate
std::string avtranscoder::StreamProperties::asJson ( ) const

Return all properties as a json format.

Definition at line 138 of file StreamProperties.cpp.

References asMap(), and avtranscoder::json::JsonStreamWriter::build().

PropertyMap avtranscoder::StreamProperties::asMap ( ) const

Return all properties as a map (name of property, value)

Definition at line 125 of file StreamProperties.cpp.

References asVector().

Referenced by asJson().

PropertyVector avtranscoder::StreamProperties::asVector ( ) const

Same data with a specific order.

Definition at line 101 of file StreamProperties.cpp.

References fillVector().

Referenced by asMap(), and avtranscoder::operator<<().

const AVFormatContext& avtranscoder::StreamProperties::getAVFormatContext ( ) const
inline

Definition at line 31 of file StreamProperties.hpp.

size_t avtranscoder::StreamProperties::getCodecId ( ) const

Definition at line 66 of file StreamProperties.cpp.

References _codecContext.

Referenced by fillVector().

std::string avtranscoder::StreamProperties::getCodecLongName ( ) const

Definition at line 87 of file StreamProperties.cpp.

References _codec, and _codecContext.

Referenced by fillVector().

std::string avtranscoder::StreamProperties::getCodecName ( ) const

Definition at line 73 of file StreamProperties.cpp.

References _codec, and _codecContext.

Referenced by fillVector(), and avtranscoder::Transcoder::getProfileFromFile().

const PropertyVector& avtranscoder::StreamProperties::getMetadatas ( ) const
inline

Definition at line 28 of file StreamProperties.hpp.

size_t avtranscoder::StreamProperties::getStreamId ( ) const

Definition at line 39 of file StreamProperties.cpp.

References _formatContext, and _streamIndex.

Referenced by fillVector().

size_t avtranscoder::StreamProperties::getStreamIndex ( ) const
inline

Definition at line 18 of file StreamProperties.hpp.

Referenced by fillVector().

Rational avtranscoder::StreamProperties::getTimeBase ( ) const

Definition at line 46 of file StreamProperties.cpp.

References _formatContext, and _streamIndex.

Referenced by fillVector(), and getDuration().

Field Documentation

AVCodec* avtranscoder::StreamProperties::_codec
protected
AVCodecContext* avtranscoder::StreamProperties::_codecContext
protected

Has link (no ownership)

Definition at line 57 of file StreamProperties.hpp.

Referenced by avtranscoder::VideoProperties::analyseGopStructure(), avtranscoder::AudioProperties::getBitRate(), avtranscoder::VideoProperties::getBitRate(), avtranscoder::AudioProperties::getChannelDescription(), avtranscoder::AudioProperties::getChannelLayout(), avtranscoder::AudioProperties::getChannelName(), avtranscoder::VideoProperties::getChromaSampleLocation(), getCodecId(), getCodecLongName(), getCodecName(), avtranscoder::VideoProperties::getColorPrimaries(), avtranscoder::VideoProperties::getColorRange(), avtranscoder::VideoProperties::getColorspace(), avtranscoder::VideoProperties::getColorTransfert(), avtranscoder::VideoProperties::getDar(), avtranscoder::VideoProperties::getDtgActiveFormat(), avtranscoder::VideoProperties::getFieldOrder(), avtranscoder::VideoProperties::getHeight(), avtranscoder::VideoProperties::getLevel(), avtranscoder::VideoProperties::getMaxBitRate(), avtranscoder::VideoProperties::getMinBitRate(), avtranscoder::AudioProperties::getNbChannels(), avtranscoder::VideoProperties::getProfile(), avtranscoder::VideoProperties::getProfileName(), avtranscoder::VideoProperties::getReferencesFrames(), avtranscoder::AudioProperties::getSampleFormatLongName(), avtranscoder::AudioProperties::getSampleFormatName(), avtranscoder::AudioProperties::getSampleRate(), avtranscoder::VideoProperties::getSar(), avtranscoder::VideoProperties::getStartTimecode(), avtranscoder::AudioProperties::getTicksPerFrame(), avtranscoder::VideoProperties::getTicksPerFrame(), avtranscoder::VideoProperties::getWidth(), avtranscoder::VideoProperties::hasBFrames(), StreamProperties(), and avtranscoder::VideoProperties::VideoProperties().

PropertyVector avtranscoder::StreamProperties::_metadatas
protected

Definition at line 61 of file StreamProperties.hpp.

Referenced by fillVector(), and StreamProperties().


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