|
arduino-audio-tools
|
Decoder for the Opus audio format. Each Opus frame must be provided with one write() call. Therefore, Opus is usually encapsulated in a container format (e.g., Ogg) that splits the stream into frames. More...
#include <CodecOpus.h>
Public Member Functions | |
| OpusAudioDecoder (bool releaseOnEnd=false) | |
| Construct a new OpusDecoder object. | |
| OpusAudioDecoder (Print &out_stream) | |
| Construct a new OpusDecoder object. | |
| virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
| Adds target to be notified about audio changes. | |
| AudioInfo | audioInfo () override |
| provides the actual input AudioInfo | |
| virtual AudioInfo | audioInfoOut () |
| bool | begin () override |
| virtual bool | begin (AudioInfo info) override |
| bool | begin (OpusSettings settings) |
| virtual void | clearNotifyAudioChange () |
| Deletes all change notify subscriptions. | |
| OpusSettings & | config () |
| Provides access to the configuration. | |
| OpusSettings & | defaultConfig () |
| void | end () override |
| Print * | getOutput () |
| bool | isNotifyActive () |
| Checks if the automatic AudioInfo update is active. | |
| virtual bool | isResultPCM () |
| Returns true to indicate that the decoding result is PCM data. | |
| operator bool () override | |
| virtual bool | removeNotifyAudioChange (AudioInfoSupport &bi) |
| Removes a target in order not to be notified about audio changes. | |
| void | setAudioInfo (AudioInfo from) override |
| for most decoders this is not needed | |
| virtual bool | setCodecConfig (const uint8_t *data, size_t len) |
| Some decoders need e.g. a magic cookie to provide the relevant info for decoding. | |
| void | setNotifyActive (bool flag) |
| Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
| virtual void | setOutput (AudioOutput &out_stream) |
| Defines where the decoded result is written to. | |
| virtual void | setOutput (AudioStream &out_stream) |
| Defines where the decoded result is written to. | |
| void | setOutput (Print &out_stream) override |
| Defines the output Stream. | |
| void | setReleaseOnEnd (bool flag) |
| size_t | write (const uint8_t *data, size_t len) override |
| write one full opus frame | |
Public Attributes | |
| int | id |
| custom id to be used by application | |
Protected Member Functions | |
| bool | isValidRate (int rate) |
| void | notifyAudioChange (AudioInfo info) |
| void | writeBlocking (Print *out, uint8_t *data, size_t len) |
Protected Attributes | |
| bool | active = false |
| OpusSettings | cfg |
| OpusDecoder * | dec = nullptr |
| Vector< uint8_t > | decbuf {0} |
| AudioInfo | info |
| bool | is_notify_active = true |
| Vector< AudioInfoSupport * > | notify_vector |
| Vector< uint8_t > | outbuf {0} |
| Print * | p_print = nullptr |
| bool | release_on_end = false |
| const uint32_t | valid_rates [5] = {8000, 12000, 16000, 24000, 48000} |
Decoder for the Opus audio format. Each Opus frame must be provided with one write() call. Therefore, Opus is usually encapsulated in a container format (e.g., Ogg) that splits the stream into frames.
Depends on https://github.com/pschatzmann/arduino-libopus.git
|
inline |
Construct a new OpusDecoder object.
|
inline |
Construct a new OpusDecoder object.
| out_stream | Output Stream to which we write the decoded result |
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, EncodedAudioOutput, EncodedAudioStream, AACDecoderFDK, DecoderBasic, CodecChain, MP3DecoderHelix, MP3DecoderMAD, OggContainerDecoder, RTSPClient< TcpClient, UdpSocket >, Pipeline, and Pipeline::ModifyingStreamAdapter.
|
inlineoverridevirtual |
provides the actual input AudioInfo
Reimplemented from AudioDecoder.
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in PureDataStream, PWMAudioOutput, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, FormatConverterStream, Pipeline, ResampleStream, and ResampleStreamT< TInterpolator >.
|
inlineoverridevirtual |
Reimplemented from AudioDecoder.
Reimplemented from AudioWriter.
Reimplemented in DecoderBasic, and OggContainerDecoder.
|
inline |
Deletes all change notify subscriptions.
Reimplemented in RTSPClient< TcpClient, UdpSocket >.
|
inline |
Provides access to the configuration.
|
inline |
|
inlineoverridevirtual |
Reimplemented from AudioDecoder.
|
inlineinherited |
Returns true to indicate that the decoding result is PCM data.
Reimplemented in CopyDecoder, DecoderNetworkFormat, and ContainerM4A.
Implements AudioWriter.
|
inlinevirtualinherited |
Removes a target in order not to be notified about audio changes.
Reimplemented in RTSPClient< TcpClient, UdpSocket >.
for most decoders this is not needed
Reimplemented from AudioDecoder.
Some decoders need e.g. a magic cookie to provide the relevant info for decoding.
Reimplemented in DecoderALAC, and MultiDecoder.
Deactivate/Reactivate automatic AudioInfo updates: (default is active)
|
inlinevirtualinherited |
Defines where the decoded result is written to.
Reimplemented in ADTSDecoder, CodecChain, MTSDecoder, MTSDecoderTSDemux, and MetaDataFilterDecoder.
|
inlinevirtualinherited |
Defines where the decoded result is written to.
Reimplemented in ADTSDecoder, CodecChain, MTSDecoder, MTSDecoderTSDemux, and MetaDataFilterDecoder.
Defines the output Stream.
Reimplemented from AudioDecoder.
Defines if the resources should be released when the stream is closed (default: false)
write one full opus frame
Implements AudioWriter.
|
protected |
|
protected |
|
inherited |
custom id to be used by application
|
protectedinherited |
|
protectedinherited |