arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
audio_tools::OpusOggDecoder Class Reference

Opus Decoder which uses the Ogg Container. See https://datatracker.ietf.org/doc/html/rfc7845. The audio data is transmitted in frames and the header information contains the sampler rate, channels and other critical info. More...

#include <CodecOpusOgg.h>

Inheritance diagram for audio_tools::OpusOggDecoder:
audio_tools::OggContainerDecoder audio_tools::AudioDecoder audio_tools::AudioWriter audio_tools::AudioBaseInfoSource

Public Member Functions

void begin () override
 
void begin (OpusSettings settings)
 
OpusSettingsconfig ()
 Provides access to the Opus configuration.
 
void end () override
 
- Public Member Functions inherited from audio_tools::OggContainerDecoder
 OggContainerDecoder ()
 Construct a new OggContainerDecoder object.
 
 OggContainerDecoder (AudioDecoder &decoder)
 
 OggContainerDecoder (AudioDecoder *decoder)
 
AudioBaseInfo audioInfo () override
 
void begin () override
 
void begin (AudioBaseInfo info)
 
void end () override
 
void flush ()
 
virtual operator bool () override
 
void setNotifyAudioChange (AudioBaseInfoDependent &bi) override
 
void setOutputStream (Print &out_stream) override
 Defines the output Stream. More...
 
virtual size_t write (const void *in_ptr, size_t in_size) override
 
- Public Member Functions inherited from audio_tools::AudioDecoder
 AudioDecoder (AudioDecoder const &)=delete
 
virtual AudioBaseInfo audioInfo ()=0
 
virtual bool isResultPCM ()
 
AudioDecoderoperator= (AudioDecoder const &)=delete
 
virtual void setAudioInfo (AudioBaseInfo from) override
 
virtual void setOutputStream (AudioPrint &out_stream)
 
virtual void setOutputStream (AudioStream &out_stream)
 
virtual void setOutputStream (Print &out_stream) override=0
 
virtual void begin ()=0
 
virtual void end ()=0
 
virtual operator bool ()=0
 
virtual void setAudioInfo (AudioBaseInfo from)=0
 
virtual void setOutputStream (Print &out_stream)=0
 
virtual size_t write (const void *in_ptr, size_t in_size)=0
 
virtual void setNotifyAudioChange (AudioBaseInfoDependent &bi)=0
 

Protected Member Functions

virtual void beginOfSegment (ogg_packet *op)
 
- Protected Member Functions inherited from audio_tools::OggContainerDecoder
virtual void beginOfSegment (ogg_packet *op)
 
virtual void endOfSegment (ogg_packet *op)
 
virtual void notify ()
 

Protected Attributes

OpusAudioDecoder dec
 
OpusOggHeader header
 
- Protected Attributes inherited from audio_tools::OggContainerDecoder
AudioBaseInfoDependentbid = nullptr
 
RingBuffer< uint8_t > buffer {OGG_DEFAULT_BUFFER_SIZE}
 
AudioBaseInfo cfg
 
bool is_open = false
 
AudioDecoderp_codec = nullptr
 
OGGZ * p_oggz = nullptr
 
Printp_print = nullptr
 
long pos = 0
 

Additional Inherited Members

- Static Protected Member Functions inherited from audio_tools::OggContainerDecoder
static size_t ogg_io_read (void *user_handle, void *buf, size_t n)
 
static int read_packet (OGGZ *oggz, oggz_packet *zp, long serialno, void *user_data)
 
static int read_page (OGGZ *oggz, const ogg_page *og, long serialno, void *user_data)
 

Detailed Description

Opus Decoder which uses the Ogg Container. See https://datatracker.ietf.org/doc/html/rfc7845. The audio data is transmitted in frames and the header information contains the sampler rate, channels and other critical info.

Author
Phil Schatzmann

Member Function Documentation

◆ begin()

void audio_tools::OpusOggDecoder::begin ( )
inlineoverridevirtual

◆ beginOfSegment()

virtual void audio_tools::OpusOggDecoder::beginOfSegment ( ogg_packet *  op)
inlineprotectedvirtual

Reimplemented from audio_tools::OggContainerDecoder.

◆ end()

void audio_tools::OpusOggDecoder::end ( )
inlineoverridevirtual

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