AudioContext
#include <icy/av/audiocontext.h>
struct AudioContextDefined in src/av/include/icy/av/audiocontext.h:39
- Subclassed by
AudioDecoder,AudioEncoder
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 emitterType: PacketSignal
Defined in src/av/include/icy/av/audiocontext.h:92
iparams
AudioCodec iparamsType: AudioCodec
Defined in src/av/include/icy/av/audiocontext.h:94
input parameters
oparams
AudioCodec oparamsType: AudioCodec
Defined 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 > resamplerType: std::unique_ptr< AudioResampler >
Defined 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 virtual noexcept | ||
AudioContext | Deleted constructor. | |
AudioContext & | operator= | Deleted assignment operator. |
AudioContext | Deleted constructor. | |
AudioContext & | operator= | Deleted assignment operator. |
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
virtual noexcept
virtual ~AudioContext() noexceptDefined in src/av/include/icy/av/audiocontext.h:42
AudioContext
AudioContext(const AudioContext &) = deleteDefined in src/av/include/icy/av/audiocontext.h:44
Deleted constructor.
operator=
AudioContext & operator=(const AudioContext &) = deleteDefined in src/av/include/icy/av/audiocontext.h:45
Deleted assignment operator.
AudioContext
AudioContext(AudioContext &&) = deleteDefined in src/av/include/icy/av/audiocontext.h:46
Deleted constructor.
operator=
AudioContext & operator=(AudioContext &&) = deleteDefined in src/av/include/icy/av/audiocontext.h:47
Deleted assignment operator.
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.
Returns
True if one or more decoded frames were emitted, false otherwise.
Reimplemented by
Parameters
| Parameter | Type | Description |
|---|---|---|
ipacket | AVPacket & | The compressed audio packet to decode. |
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.
Returns
True if an encoded packet was produced and emitted.
Reimplemented by
Parameters
| Parameter | Type | Description |
|---|---|---|
samples | uint8_t * | Pointer to the interleaved sample buffer. |
numSamples | int | Number of samples per channel. |
pts | int64_t | Presentation timestamp in stream time base units. |
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.
Returns
True if an encoded packet was produced and emitted.
Reimplemented by
Parameters
| Parameter | Type | Description |
|---|---|---|
samples | uint8_t * | Array of per-channel sample buffers (up to 4 planes). |
numSamples | int | Number of samples per channel. |
pts | int64_t | Presentation timestamp in stream time base units. |
encode
virtual
virtual bool encode(AVFrame * iframe)Defined in src/av/include/icy/av/audiocontext.h:82
Encode a single AVFrame.
Returns
True if an encoded packet was produced and emitted.
Reimplemented by
Parameters
| Parameter | Type | Description |
|---|---|---|
iframe | AVFrame * | The source audio frame; must have all fields set correctly. |
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.
