avcpp  2.0
Wrapper for the FFmpeg that simplify usage from C++ projects.
Public Types | Public Member Functions | List of all members
av::AudioEncoderContext Class Reference

#include <codeccontext.h>

Inheritance diagram for av::AudioEncoderContext:
Inheritance graph
[legend]
Collaboration diagram for av::AudioEncoderContext:
Collaboration graph
[legend]

Public Types

using Parent = AudioCodecContext< AudioEncoderContext, Direction::Encoding >
 
- Public Types inherited from av::AudioCodecContext< AudioEncoderContext, Direction::Encoding >
using Parent = CodecContextBase< AudioEncoderContext, _direction, AVMEDIA_TYPE_AUDIO >
 

Public Member Functions

 AudioEncoderContext ()=default
 
 AudioEncoderContext (AudioEncoderContext &&other)
 
AudioEncoderContext & operator= (AudioEncoderContext &&other)
 
Packet encode (OptionalErrorCode ec=throws())
 
Packet encode (const AudioSamples &inSamples, OptionalErrorCode ec=throws())
 
bool send (const AudioSamples &samples, OptionalErrorCode ec=throws())
 Sends audio samples to the encoder. More...
 
Packet receive (OptionalErrorCode ec=throws())
 Receives one encoded packet. More...
 
- Public Member Functions inherited from av::AudioCodecContext< AudioEncoderContext, Direction::Encoding >
int sampleRate () const noexcept
 
int channels () const noexcept
 
SampleFormat sampleFormat () const noexcept
 
uint64_t channelLayout () const noexcept
 
void setSampleRate (int sampleRate) noexcept
 
void setChannels (int channels) noexcept
 
void setSampleFormat (SampleFormat sampleFormat) noexcept
 
void setChannelLayout (uint64_t layout) noexcept
 
- Public Member Functions inherited from av::CodecContextBase< Clazz, _direction, _type >
 CodecContextBase ()
 
 CodecContextBase (const Codec &codec)
 
 CodecContextBase (CodecContextBase &&other)
 
void setCodec (const Codec &codec, OptionalErrorCode ec=throws())
 
void setCodec (const Codec &codec, bool resetDefaults, OptionalErrorCode ec=throws())
 
AVMediaType codecType () const noexcept
 
bool flush (OptionalErrorCode ec=throws())
 Puts the codec into draining mode. More...
 
- Public Member Functions inherited from av::CodecContext2
void open (OptionalErrorCode ec=throws())
 
void open (const Codec &codec, OptionalErrorCode ec=throws())
 
void open (class Dictionary &options, OptionalErrorCode ec=throws())
 
void open (class Dictionary &&options, OptionalErrorCode ec=throws())
 
void open (class Dictionary &options, const Codec &codec, OptionalErrorCode ec=throws())
 
void open (class Dictionary &&options, const Codec &codec, OptionalErrorCode ec=throws())
 
void close (OptionalErrorCode ec=throws())
 
bool isOpened () const noexcept
 
bool isValid () const noexcept
 
Rational timeBase () const noexcept
 
void setTimeBase (const Rational &value) noexcept
 
bool isEof () const noexcept
 Returns true if the codec has been flushed and all output is drained. More...
 
void flushBuffers () noexcept
 Resets the codec internal state and the end-of-stream flag. More...
 
Codec codec () const noexcept
 
void setOption (const std::string &key, const std::string &val, OptionalErrorCode ec=throws())
 
void setOption (const std::string &key, const std::string &val, int flags, OptionalErrorCode ec=throws())
 
int frameSize () const noexcept
 
int64_t frameNumber () const noexcept
 
bool isRefCountedFrames () const noexcept
 
void setRefCountedFrames (bool refcounted) const noexcept
 
int strict () const noexcept
 
void setStrict (int strict) noexcept
 
int64_t bitRate () const noexcept
 
std::pair< int64_t, int64_t > bitRateRange () const noexcept
 
void setBitRate (int64_t bitRate) noexcept
 
void setBitRateRange (const std::pair< int64_t, int64_t > &bitRateRange) noexcept
 
template<typename T >
std::pair< int, const std::error_category * > decodeCommon (T &outFrame, const class Packet &inPacket, size_t offset, int &frameFinished, int(*decodeProc)(AVCodecContext *, AVFrame *, int *, const AVPacket *))
 
template<typename T >
std::pair< int, const std::error_category * > encodeCommon (class Packet &outPacket, const T &inFrame, int &gotPacket, int(*encodeProc)(AVCodecContext *, AVPacket *, const AVFrame *, int *))
 
bool send (const Packet &packet, OptionalErrorCode ec=throws())
 
Packet receive (OptionalErrorCode ec=throws())
 
template<typename T >
std::pair< int, const std::error_category * > decodeCommon (T &outFrame, const Packet &inPacket, size_t offset, int &frameFinished, int(*decodeProc)(AVCodecContext *, AVFrame *, int *, const AVPacket *))
 
void copyContextFrom (const CodecContext2 &other, OptionalErrorCode ec=throws())
 Copy codec context from codec context associated with given stream or other codec context. More...
 
void setFlags (int flags) noexcept
 Access to CODEC_FLAG_* flags. More...
 
void addFlags (int flags) noexcept
 
void clearFlags (int flags) noexcept
 
int flags () noexcept
 
bool isFlags (int flags) noexcept
 
void setFlags2 (int flags) noexcept
 Access to CODEC_FLAG2_* flags. More...
 
void addFlags2 (int flags) noexcept
 
void clearFlags2 (int flags) noexcept
 
int flags2 () noexcept
 
bool isFlags2 (int flags) noexcept
 
- Public Member Functions inherited from FFWrapperPtr< AVCodecContext >
 FFWrapperPtr ()=default
 
 FFWrapperPtr (AVCodecContext *raw)
 
const AVCodecContext * raw () const
 
AVCodecContext * raw ()
 
void reset (AVCodecContext *raw=nullptr)
 
bool isNull () const
 
void _log (int level, const char *fmt) const
 
void _log (int level, const char *fmt, const Args &... args) const
 

Additional Inherited Members

- Protected Types inherited from av::CodecContext2
using BaseWrapper = FFWrapperPtr< AVCodecContext >
 
- Protected Member Functions inherited from av::CodecContextBase< Clazz, _direction, _type >
Clazz & moveOperator (Clazz &&rhs)
 
void setCodec (const class Codec &codec, bool resetDefaults, Direction direction, AVMediaType type, OptionalErrorCode ec=throws())
 
- Protected Member Functions inherited from av::CodecContext2
void swap (CodecContext2 &other)
 
 CodecContext2 ()
 
 CodecContext2 (const class Codec &codec, Direction direction, AVMediaType type)
 
 ~CodecContext2 ()
 
void setCodec (const class Codec &codec, bool resetDefaults, Direction direction, AVMediaType type, OptionalErrorCode ec=throws())
 
AVMediaType codecType (AVMediaType contextType) const noexcept
 
bool isValidForEncode (Direction direction, AVMediaType type) const noexcept
 
bool checkCodec (const Codec &codec, Direction direction, AVMediaType type, OptionalErrorCode ec)
 
void open (const Codec &codec, AVDictionary **options, OptionalErrorCode ec)
 
std::pair< int, const std::error_category * > decodeCommon (AVFrame *outFrame, const class Packet &inPacket, size_t offset, int &frameFinished, int(*decodeProc)(AVCodecContext *, AVFrame *, int *, const AVPacket *)) noexcept
 
std::pair< int, const std::error_category * > encodeCommon (class Packet &outPacket, const AVFrame *inFrame, int &gotPacket, int(*encodeProc)(AVCodecContext *, AVPacket *, const AVFrame *, int *)) noexcept
 
std::error_code sendCommon (const class Packet &pkt)
 
std::error_code receiveCommon (AVFrame *frame)
 
template<typename T >
std::error_code receiveCommon (T &frame)
 
std::error_code sendCommon (const AVFrame *frame)
 
std::error_code receiveCommon (class Packet &pkt)
 
template<typename T >
std::error_code sendCommon (const T &frame)
 
- Protected Member Functions inherited from av::noncopyable
 noncopyable ()=default
 
 noncopyable (const noncopyable &)=delete
 
void operator= (const noncopyable &)=delete
 
- Protected Attributes inherited from FFWrapperPtr< AVCodecContext >
AVCodecContext * m_raw
 

Member Typedef Documentation

◆ Parent

Constructor & Destructor Documentation

◆ AudioEncoderContext() [1/2]

av::AudioEncoderContext::AudioEncoderContext ( )
default

◆ AudioEncoderContext() [2/2]

av::AudioEncoderContext::AudioEncoderContext ( AudioEncoderContext &&  other)

Member Function Documentation

◆ encode() [1/2]

Packet av::AudioEncoderContext::encode ( const AudioSamples &  inSamples,
OptionalErrorCode  ec = throws() 
)

◆ encode() [2/2]

Packet av::AudioEncoderContext::encode ( OptionalErrorCode  ec = throws())

◆ operator=()

AudioEncoderContext & av::AudioEncoderContext::operator= ( AudioEncoderContext &&  other)

◆ receive()

Packet av::AudioEncoderContext::receive ( OptionalErrorCode  ec = throws())

Receives one encoded packet.

Returns an empty packet when no packet is available yet (EAGAIN) and when the stream has ended. Use isEof() to distinguish the two cases.

◆ send()

bool av::AudioEncoderContext::send ( const AudioSamples &  samples,
OptionalErrorCode  ec = throws() 
)

Sends audio samples to the encoder.

Returns
false if the encoder cannot accept more input until receive() is called. This EAGAIN condition is not an error.

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