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

Encoder for Ogg Container. Encodes a packet for an Ogg container. The Ogg begin segment contains the AudioInfo structure. You can subclass ond overwrite the writeHeader() method to implement your own header logic. When an optional encoder is specified in the constructor we package the encoded data. Dependency: https://github.com/pschatzmann/arduino-libopus. More...

#include <ContainerOgg.h>

Inheritance diagram for OggContainerEncoder:
AudioEncoder AudioWriter AudioInfoSupport OpusOggEncoder

Public Member Functions

 OggContainerEncoder (AudioEncoder &encoder)
 
 OggContainerEncoder (AudioEncoder *encoder)
 
AudioInfo audioInfo () override
 provides the actual input AudioInfo
 
virtual AudioInfo audioInfoOut ()
 
virtual bool begin () override
 starts the processing using the actual AudioInfo
 
virtual bool begin (AudioInfo from) override
 
void end () override
 stops the processing
 
virtual uint32_t frameDurationUs ()
 Optional rtsp function: provide the frame duration in microseconds.
 
bool isOpen ()
 
const char * mime () override
 Provides "audio/pcm".
 
 operator bool () override
 
virtual uint16_t samplesPerFrame ()
 Optional rtsp function: provide samples per the frame.
 
virtual void setAudioInfo (AudioInfo info) override
 We actually do nothing with this.
 
void setOutput (Print &print) override
 Defines the output Stream.
 
virtual size_t write (const uint8_t *data, size_t len) override
 Writes raw data to be encoded and packaged.
 

Protected Member Functions

void setEncoder (AudioEncoder *enc)
 
void setOggOutput (OggContainerOutput *out)
 Replace the ogg output class.
 
void writeBlocking (Print *out, uint8_t *data, size_t len)
 

Protected Attributes

AudioInfo info
 
OggContainerOutput ogg
 
AudioEncoderp_codec = nullptr
 
OggContainerOutputp_ogg = &ogg
 

Detailed Description

Encoder for Ogg Container. Encodes a packet for an Ogg container. The Ogg begin segment contains the AudioInfo structure. You can subclass ond overwrite the writeHeader() method to implement your own header logic. When an optional encoder is specified in the constructor we package the encoded data. Dependency: https://github.com/pschatzmann/arduino-libopus.

Author
Phil Schatzmann

Member Function Documentation

◆ audioInfo()

AudioInfo audioInfo ( )
inlineoverridevirtualinherited

provides the actual input AudioInfo

Implements AudioInfoSupport.

Reimplemented in CodecNOP, BinaryContainerEncoder, and MP3ParserEncoder.

◆ audioInfoOut()

virtual AudioInfo audioInfoOut ( )
inlinevirtualinherited

◆ begin() [1/2]

virtual bool begin ( )
inlineoverridevirtual

starts the processing using the actual AudioInfo

Implements AudioWriter.

◆ begin() [2/2]

virtual bool begin ( AudioInfo  from)
inlineoverridevirtual

Reimplemented from AudioWriter.

◆ end()

void end ( )
inlineoverridevirtual

stops the processing

Implements AudioWriter.

◆ frameDurationUs()

virtual uint32_t frameDurationUs ( )
inlinevirtualinherited

Optional rtsp function: provide the frame duration in microseconds.

Reimplemented in ADPCMEncoder, OpusOggEncoder, MP3ParserEncoder, and MetaDataFilterEncoder.

◆ mime()

const char * mime ( )
inlineoverridevirtual

Provides "audio/pcm".

Implements AudioEncoder.

Reimplemented in OpusOggEncoder.

◆ operator bool()

operator bool ( )
inlineoverridevirtual

Implements AudioWriter.

◆ samplesPerFrame()

virtual uint16_t samplesPerFrame ( )
inlinevirtualinherited

Optional rtsp function: provide samples per the frame.

Reimplemented in MP3ParserEncoder, and MetaDataFilterEncoder.

◆ setAudioInfo()

virtual void setAudioInfo ( AudioInfo  info)
inlineoverridevirtual

We actually do nothing with this.

Reimplemented from AudioEncoder.

◆ setOutput()

void setOutput ( Print print)
inlineoverridevirtual

Defines the output Stream.

Reimplemented from AudioEncoder.

◆ write()

virtual size_t write ( const uint8_t *  data,
size_t  len 
)
inlineoverridevirtual

Writes raw data to be encoded and packaged.

Implements AudioWriter.


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