AudioContext
AudioContext
#include <icy/av/audiocontext.h>struct AudioContextDefined in src/av/include/icy/av/audiocontext.h:39
Subclassed by:
AudioDecoder,AudioEncoder
Base context for audio encoding and decoding via FFmpeg.
List of all members
| Name | Kind | Owner |
|---|---|---|
emitter | variable | Declared here |
iparams | variable | Declared here |
oparams | variable | Declared here |
stream | variable | Declared here |
ctx | variable | Declared here |
codec | variable | Declared here |
frame | variable | Declared here |
resampler | variable | Declared here |
outputFrameSize | variable | Declared here |
time | variable | Declared here |
pts | variable | Declared here |
seconds | variable | Declared here |
error | variable | Declared here |
AudioContext | function | Declared here |
~AudioContext | function | Declared here |
AudioContext | function | Declared here |
operator= | function | Declared here |
AudioContext | function | Declared here |
operator= | function | Declared here |
create | function | Declared here |
open | function | Declared here |
close | function | Declared here |
decode | function | Declared here |
encode | function | Declared here |
encode | function | Declared here |
encode | function | Declared here |
flush | function | Declared here |
recreateResampler | function | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
PacketSignal | emitter | |
AudioCodec | iparams | input parameters |
AudioCodec | oparams | output parameters |
AVStream * | stream | encoder or decoder stream |
AVCodecContext * | ctx | encoder or decoder context |
const AVCodec * | codec | encoder or decoder codec |
AVFrame * | frame | last encoded or decoded frame |
std::unique_ptr< AudioResampler > | resampler | audio resampler |
int | outputFrameSize | encoder or decoder output frame size |
int64_t | time | stream time in codec time base |
int64_t | pts | last packet pts value |
double | seconds | audio time in seconds |
std::string | error | error message |
emitter
PacketSignal emitterDefined in src/av/include/icy/av/audiocontext.h:92
iparams
AudioCodec iparamsDefined in src/av/include/icy/av/audiocontext.h:94
input parameters
oparams
AudioCodec oparamsDefined in src/av/include/icy/av/audiocontext.h:95
output parameters
stream
AVStream * streamDefined in src/av/include/icy/av/audiocontext.h:96
encoder or decoder stream
ctx
AVCodecContext * ctxDefined in src/av/include/icy/av/audiocontext.h:97
encoder or decoder context
codec
const AVCodec * codecDefined in src/av/include/icy/av/audiocontext.h:98
encoder or decoder codec
frame
AVFrame * frameDefined in src/av/include/icy/av/audiocontext.h:99
last encoded or decoded frame
resampler
std::unique_ptr< AudioResampler > resamplerDefined in src/av/include/icy/av/audiocontext.h:100
audio resampler
outputFrameSize
int outputFrameSizeDefined in src/av/include/icy/av/audiocontext.h:101
encoder or decoder output frame size
time
int64_t timeDefined in src/av/include/icy/av/audiocontext.h:102
stream time in codec time base
pts
int64_t ptsDefined in src/av/include/icy/av/audiocontext.h:103
last packet pts value
seconds
double secondsDefined in src/av/include/icy/av/audiocontext.h:104
audio time in seconds
error
std::string errorDefined in src/av/include/icy/av/audiocontext.h:105
error message
Public Methods
| Return | Name | Description |
|---|---|---|
AudioContext | ||
AudioContext | Deleted constructor. | |
AudioContext | Deleted constructor. | |
void | create virtual | Initialise the AVCodecContext with codec-specific defaults. Implemented by AudioEncoder and AudioDecoder. |
void | open virtual | Open the codec and create the resampler if input/output parameters differ. Throws std::runtime_error if the codec context has not been created. |
void | close virtual | Close the codec context, free the frame, and reset timestamps. |
bool | decode virtual | Decode a compressed audio packet and emit the resulting samples. |
bool | encode virtual | Encode a buffer of interleaved audio samples. |
bool | encode virtual | Encode a buffer of planar audio samples. |
bool | encode virtual | Encode a single AVFrame. |
void | flush virtual | Flush any frames buffered inside the codec and emit remaining output. |
bool | recreateResampler virtual | Recreate the AudioResampler using the current iparams and oparams. Called automatically by open() when format conversion is required. |
AudioContext
AudioContext()Defined in src/av/include/icy/av/audiocontext.h:41
AudioContext
AudioContext(const AudioContext &) = deleteDefined in src/av/include/icy/av/audiocontext.h:44
Deleted constructor.
AudioContext
AudioContext(AudioContext &&) = deleteDefined in src/av/include/icy/av/audiocontext.h:46
Deleted constructor.
create
virtual
virtual void create()Defined in src/av/include/icy/av/audiocontext.h:51
Initialise the AVCodecContext with codec-specific defaults. Implemented by AudioEncoder and AudioDecoder.
Reimplemented by
open
virtual
virtual void open()Defined in src/av/include/icy/av/audiocontext.h:55
Open the codec and create the resampler if input/output parameters differ. Throws std::runtime_error if the codec context has not been created.
close
virtual
virtual void close()Defined in src/av/include/icy/av/audiocontext.h:58
Close the codec context, free the frame, and reset timestamps.
Reimplemented by
decode
virtual
virtual bool decode(AVPacket & ipacket)Defined in src/av/include/icy/av/audiocontext.h:63
Decode a compressed audio packet and emit the resulting samples.
Parameters
ipacketThe compressed audio packet to decode.
Returns
True if one or more decoded frames were emitted, false otherwise.
Reimplemented by
encode
virtual
virtual bool encode(uint8_t * samples, int numSamples, int64_t pts)Defined in src/av/include/icy/av/audiocontext.h:70
Encode a buffer of interleaved audio samples.
Parameters
samplesPointer to the interleaved sample buffer.numSamplesNumber of samples per channel.ptsPresentation timestamp in stream time base units.
Returns
True if an encoded packet was produced and emitted.
Reimplemented by
encode
virtual
virtual bool encode(uint8_t * samples, int numSamples, int64_t pts)Defined in src/av/include/icy/av/audiocontext.h:77
Encode a buffer of planar audio samples.
Parameters
samplesArray of per-channel sample buffers (up to 4 planes).numSamplesNumber of samples per channel.ptsPresentation timestamp in stream time base units.
Returns
True if an encoded packet was produced and emitted.
Reimplemented by
encode
virtual
virtual bool encode(AVFrame * iframe)Defined in src/av/include/icy/av/audiocontext.h:82
Encode a single AVFrame.
Parameters
iframeThe source audio frame; must have all fields set correctly.
Returns
True if an encoded packet was produced and emitted.
Reimplemented by
flush
virtual
virtual void flush()Defined in src/av/include/icy/av/audiocontext.h:85
Flush any frames buffered inside the codec and emit remaining output.
Reimplemented by
recreateResampler
virtual
virtual bool recreateResampler()Defined in src/av/include/icy/av/audiocontext.h:90
Recreate the AudioResampler using the current iparams and oparams. Called automatically by open() when format conversion is required.
Returns
True if the resampler was successfully created.
