Encode for Opus audio.
More...
#include <CodecOpus.h>
Encode for Opus audio.
Depends on https://github.com/pschatzmann/codec-opus.git Please note that each fully encoded frame is written to the output stream.
- Author
- Phil Schatzmann
- Copyright
- GPLv3
◆ OpusAudioEncoder() [1/2]
◆ OpusAudioEncoder() [2/2]
◆ audioInfo()
|
|
inlineoverridevirtualinherited |
◆ audioInfoOut()
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in MP3EncoderShine, PureDataStream, PWMAudioOutput< PWMDriverT >, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, FormatConverterStream, Pipeline, ResampleStream, ResampleStreamT< TInterpolator >, and SupportedRatesStream.
◆ begin() [1/3]
starts the processing using the actual OpusAudioInfo
Implements AudioWriter.
◆ begin() [2/3]
◆ begin() [3/3]
◆ config()
Provides access to the configuration.
◆ defaultConfig()
◆ encodeByte()
| void encodeByte |
( |
uint8_t |
data | ) |
|
|
inlineprotected |
◆ encodeFrame()
◆ end()
◆ frameDurationUs()
| virtual uint32_t frameDurationUs |
( |
| ) |
|
|
inlinevirtualinherited |
◆ frameSize()
| virtual int frameSize |
( |
| ) |
|
|
inlinevirtualinherited |
Optional rtsp function: provide the encoded size (in bytes) of one frame, once known (e.g. after the encoder has seen real data). Lets an RTSPFormat size its RTP fragments to match one frame instead of a fixed guess, so throughput actually tracks frameDurationUs() - a fragment size covering several frames' worth of bytes sent at one-frame timing overruns real-time bandwidth and, over UDP (no flow control), causes packet loss. Returns 0 if not yet known/not applicable (fixed-frame-size codecs have no need to override this).
Reimplemented in ADPCMEncoder, EncoderALAC, AMRNBEncoder, AMRWBEncoder, and MP3ParserEncoder.
◆ frameSizeSamples()
◆ getFrameSizeSamples()
| int getFrameSizeSamples |
( |
int |
sampling_rate | ) |
|
|
inlineprotected |
Returns the frame size in samples.
◆ isOpen()
◆ lookaheadSamples()
◆ mime()
◆ operator bool()
◆ pendingSamples()
◆ samplesPerFrame()
| uint16_t samplesPerFrame |
( |
| ) |
|
|
inlinevirtual |
Optional rtsp function: provide samples per the frame.
Reimplemented from AudioEncoder.
◆ setAudioInfo()
We actually do nothing with this.
Reimplemented from AudioEncoder.
◆ setOutput()
| void setOutput |
( |
Print & |
out_stream | ) |
|
|
inlineoverridevirtual |
◆ settings()
◆ write()
| size_t write |
( |
const uint8_t * |
data, |
|
|
size_t |
len |
|
) |
| |
|
inlineoverridevirtual |
Writes PCM data to be encoded as Opus.
Implements AudioWriter.
◆ writeBlocking()
| void writeBlocking |
( |
Print * |
out, |
|
|
uint8_t * |
data, |
|
|
size_t |
len |
|
) |
| |
|
inlineprotectedinherited |
◆ cfg
◆ enc
| OpusEncoder* enc = nullptr |
|
protected |
◆ frame
◆ frame_pos
◆ info
◆ is_open
◆ p_print
The documentation for this class was generated from the following file: