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

◆ 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: