AvTranscoder
0.9.4
C++APIforLibav/FFmpeg
|
#include <AudioEncoder.hpp>
Public Member Functions | |
AudioEncoder (const std::string &audioCodecName) | |
~AudioEncoder () | |
void | setupAudioEncoder (const AudioFrameDesc &frameDesc, const ProfileLoader::Profile &profile=ProfileLoader::Profile()) |
void | setupEncoder (const ProfileLoader::Profile &profile=ProfileLoader::Profile()) |
Setup the encoder. More... | |
bool | encodeFrame (const Frame &sourceFrame, CodedData &codedFrame) |
Encode a new frame, and get coded frame. More... | |
bool | encodeFrame (CodedData &codedFrame) |
Get the frames remaining into the encoder. More... | |
ICodec & | getCodec () |
Get codec used for encoding. More... | |
AudioCodec & | getAudioCodec () |
![]() | |
virtual | ~IEncoder () |
Private Member Functions | |
bool | encode (const AVFrame *decodedData, AVPacket &encodedData) |
Private Attributes | |
AudioCodec | _codec |
Definition at line 11 of file AudioEncoder.hpp.
avtranscoder::AudioEncoder::AudioEncoder | ( | const std::string & | audioCodecName | ) |
Definition at line 14 of file AudioEncoder.cpp.
avtranscoder::AudioEncoder::~AudioEncoder | ( | ) |
Definition at line 19 of file AudioEncoder.cpp.
|
private |
Definition at line 117 of file AudioEncoder.cpp.
References _codec, avtranscoder::ICodec::getAVCodecContext(), and avtranscoder::getDescriptionFromErrorCode().
Referenced by encodeFrame().
|
virtual |
Encode a new frame, and get coded frame.
sourceFrame | frame that needs to be encoded |
codedFrame | output encoded coded data (first frames can be delayed) |
runtime_error | if the encoded process failed. |
Implements avtranscoder::IEncoder.
Definition at line 94 of file AudioEncoder.cpp.
References _codec, encode(), avtranscoder::ICodec::getAVCodecContext(), avtranscoder::Frame::getAVFrame(), and avtranscoder::CodedData::getAVPacket().
|
virtual |
Get the frames remaining into the encoder.
codedFrame | output encoded data |
runtime_error | if the encoded process failed. |
Implements avtranscoder::IEncoder.
Definition at line 112 of file AudioEncoder.cpp.
References encode(), and avtranscoder::CodedData::getAVPacket().
|
inline |
Definition at line 25 of file AudioEncoder.hpp.
Referenced by avtranscoder::StreamTranscoder::StreamTranscoder().
|
inlinevirtual |
Get codec used for encoding.
Implements avtranscoder::IEncoder.
Definition at line 24 of file AudioEncoder.hpp.
void avtranscoder::AudioEncoder::setupAudioEncoder | ( | const AudioFrameDesc & | frameDesc, |
const ProfileLoader::Profile & | profile = ProfileLoader::Profile() |
||
) |
Definition at line 23 of file AudioEncoder.cpp.
References _codec, LOG_INFO, avtranscoder::AudioCodec::setAudioParameters(), and setupEncoder().
Referenced by avtranscoder::StreamTranscoder::StreamTranscoder().
|
virtual |
Setup the encoder.
profile | set encoder parameters from the given profile |
Implements avtranscoder::IEncoder.
Definition at line 37 of file AudioEncoder.cpp.
References _codec, avtranscoder::constants::avProfileCodec, avtranscoder::constants::avProfileIdentificator, avtranscoder::constants::avProfileIdentificatorHuman, avtranscoder::constants::avProfileSampleFormat, avtranscoder::constants::avProfileThreads, avtranscoder::constants::avProfileType, avtranscoder::ProfileLoader::checkAudioProfile(), avtranscoder::ICodec::getAVCodecContext(), avtranscoder::ICodec::getOption(), LOG_ERROR, LOG_WARN, avtranscoder::ICodec::openCodec(), avtranscoder::Option::setInt(), and avtranscoder::Option::setString().
Referenced by setupAudioEncoder().
|
private |
Definition at line 31 of file AudioEncoder.hpp.
Referenced by encode(), encodeFrame(), setupAudioEncoder(), and setupEncoder().