AvTranscoder
0.9.4
C++APIforLibav/FFmpeg
|
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 PropertyVector & | getMetadatas () 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 PropertyVector & | fillVector (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 |
Virtual based class of properties for all types of stream.
Definition at line 12 of file StreamProperties.hpp.
avtranscoder::StreamProperties::StreamProperties | ( | const FormatContext & | formatContext, |
const size_t | index | ||
) |
Definition at line 11 of file StreamProperties.cpp.
References _codec, _codecContext, _formatContext, _metadatas, _streamIndex, and avtranscoder::detail::fillMetadataDictionnary().
|
pure virtual |
Definition at line 35 of file StreamProperties.cpp.
|
inlineprivate |
Definition at line 42 of file StreamProperties.hpp.
References avtranscoder::detail::add(), and avtranscoder::detail::propertyValueIfError.
Referenced by fillVector().
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<<().
|
virtual |
To avoid copy of the vector.
Reimplemented in avtranscoder::VideoProperties, and avtranscoder::AudioProperties.
Definition at line 107 of file StreamProperties.cpp.
References _metadatas, avtranscoder::detail::add(), addProperty(), getCodecId(), getCodecLongName(), getCodecName(), getDuration(), getStreamId(), getStreamIndex(), and getTimeBase().
Referenced by asVector(), avtranscoder::AudioProperties::fillVector(), and avtranscoder::VideoProperties::fillVector().
|
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().
float avtranscoder::StreamProperties::getDuration | ( | ) | const |
in seconds
Definition at line 53 of file StreamProperties.cpp.
References _formatContext, _streamIndex, and getTimeBase().
Referenced by fillVector(), avtranscoder::StreamTranscoder::getDuration(), avtranscoder::VideoProperties::getNbFrames(), avtranscoder::AudioProperties::getNbSamples(), and avtranscoder::StreamTranscoder::processFrame().
|
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().
|
inline |
Definition at line 18 of file StreamProperties.hpp.
Referenced by fillVector().
AVMediaType avtranscoder::StreamProperties::getStreamType | ( | ) | const |
Definition at line 59 of file StreamProperties.cpp.
References _formatContext, and _streamIndex.
Referenced by avtranscoder::Transcoder::add(), avtranscoder::Transcoder::fillProcessStat(), avtranscoder::Transcoder::getProfileFromFile(), and avtranscoder::StreamTranscoder::StreamTranscoder().
Rational avtranscoder::StreamProperties::getTimeBase | ( | ) | const |
Definition at line 46 of file StreamProperties.cpp.
References _formatContext, and _streamIndex.
Referenced by fillVector(), and getDuration().
|
protected |
Has link (no ownership)
Definition at line 58 of file StreamProperties.hpp.
Referenced by avtranscoder::VideoProperties::analyseGopStructure(), avtranscoder::VideoProperties::getBitRate(), getCodecLongName(), getCodecName(), avtranscoder::VideoProperties::getProfileName(), and StreamProperties().
|
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().
|
protected |
Has link (no ownership)
Definition at line 56 of file StreamProperties.hpp.
Referenced by avtranscoder::VideoProperties::analyseGopStructure(), avtranscoder::DataProperties::detectAncillaryData(), avtranscoder::VideoProperties::getBitRate(), getDuration(), avtranscoder::VideoProperties::getFps(), avtranscoder::VideoProperties::getNbFrames(), avtranscoder::AudioProperties::getNbSamples(), getStreamId(), getStreamType(), getTimeBase(), and StreamProperties().
|
protected |
Definition at line 61 of file StreamProperties.hpp.
Referenced by fillVector(), and StreamProperties().
|
protected |
Definition at line 60 of file StreamProperties.hpp.
Referenced by avtranscoder::VideoProperties::analyseGopStructure(), avtranscoder::DataProperties::detectAncillaryData(), avtranscoder::VideoProperties::getBitRate(), getDuration(), avtranscoder::VideoProperties::getFps(), avtranscoder::VideoProperties::getNbFrames(), avtranscoder::AudioProperties::getNbSamples(), getStreamId(), getStreamType(), getTimeBase(), and StreamProperties().