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

Parses MP3 frames, extracts audio info, and outputs complete frames. The frame duration is determined e.g. for RTSP streaming. More...

#include <MP3Parser.h>

Inheritance diagram for MP3ParserEncoder:
AudioEncoder AudioWriter AudioInfoSupport

Public Member Functions

 MP3ParserEncoder (int bufferSize=1024 *2)
 
AudioInfo audioInfo () override
 provides the actual input AudioInfo
 
virtual AudioInfo audioInfoOut ()
 
bool begin () override
 
virtual bool begin (AudioInfo info)
 
void end () override
 
uint32_t frameDurationUs () override
 Optional rtsp function: provide the frame duration in microseconds.
 
virtual const charmime () override
 Provides the mime type of the encoded result.
 
 operator bool () override
 
uint16_t samplesPerFrame () override
 Optional rtsp function: provide samples per the frame.
 
void setAudioInfo (AudioInfo from) override
 Defines the sample rate, number of channels and bits per sample.
 
void setOutput (Print &out_stream) override
 Default output assignment (encoders may override to store Print reference)
 
size_t write (const uint8_t *data, size_t len) override
 

Protected Member Functions

void writeBlocking (Print *out, uint8_t *data, size_t len)
 

Protected Attributes

int buffer_size = 0
 
AudioInfo info
 
HeaderParserMP3 mp3
 

Detailed Description

Parses MP3 frames, extracts audio info, and outputs complete frames. The frame duration is determined e.g. for RTSP streaming.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ MP3ParserEncoder()

MP3ParserEncoder ( int  bufferSize = 1024 * 2)
inline

Member Function Documentation

◆ audioInfo()

AudioInfo audioInfo ( )
inlineoverridevirtual

provides the actual input AudioInfo

Reimplemented from AudioEncoder.

◆ audioInfoOut()

virtual AudioInfo audioInfoOut ( )
inlinevirtualinherited

◆ begin() [1/2]

bool begin ( )
inlineoverridevirtual

Implements AudioWriter.

◆ begin() [2/2]

virtual bool begin ( AudioInfo  info)
inlinevirtualinherited

◆ end()

void end ( )
inlineoverridevirtual

Implements AudioWriter.

◆ frameDurationUs()

uint32_t frameDurationUs ( )
inlineoverridevirtual

Optional rtsp function: provide the frame duration in microseconds.

Reimplemented from AudioEncoder.

◆ mime()

virtual const char * mime ( )
inlineoverridevirtual

Provides the mime type of the encoded result.

Implements AudioEncoder.

◆ operator bool()

operator bool ( )
inlineoverridevirtual

Implements AudioWriter.

◆ samplesPerFrame()

uint16_t samplesPerFrame ( )
inlineoverridevirtual

Optional rtsp function: provide samples per the frame.

Reimplemented from AudioEncoder.

◆ setAudioInfo()

void setAudioInfo ( AudioInfo  from)
inlineoverridevirtualinherited

Defines the sample rate, number of channels and bits per sample.

Implements AudioWriter.

Reimplemented in MP3EncoderLAME, EncoderBasic, CodecChain, FLACEncoder, OpusAudioEncoder, WAVEncoder, CodecNOP, G7xxEncoder, BinaryContainerEncoder, OggContainerEncoder, OSCContainerEncoder, and MetaDataFilterEncoder.

◆ setOutput()

void setOutput ( Print out_stream)
inlineoverridevirtual

Default output assignment (encoders may override to store Print reference)

Reimplemented from AudioEncoder.

◆ write()

size_t write ( const uint8_t data,
size_t  len 
)
inlineoverridevirtual

Implements AudioWriter.

◆ writeBlocking()

void writeBlocking ( Print out,
uint8_t data,
size_t  len 
)
inlineprotectedinherited

Member Data Documentation

◆ buffer_size

int buffer_size = 0
protected

◆ info

AudioInfo info
protectedinherited

◆ mp3

HeaderParserMP3 mp3
protected

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