arduino-audio-tools
|
Encoder for SBC - Depends on https://github.com/pschatzmann/arduino-libsbc. Inspired by sbcenc.c. More...
#include <CodecSBC.h>
Public Member Functions | |
SBCEncoder (int subbands=8, int blocks=16, int bitpool=32, int allocation_method=SBC_AM_LOUDNESS) | |
AudioInfo | audioInfo () |
provides the actual input AudioInfo | |
virtual AudioInfo | audioInfoOut () |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream | |
bool | begin () |
Restarts the processing. | |
virtual bool | begin (AudioInfo info) |
int | bytesCompressed () |
int | bytesUncompressed () |
virtual void | end () |
Ends the processing. | |
virtual const char * | mime () |
Provides the mime type of the encoded result. | |
operator bool () | |
void | setAllocationMethod (int allocation_method) |
Defines the allocation method: Use SBC_AM_LOUDNESS, SBC_AM_SNR. | |
void | setAudioInfo (AudioInfo from) override |
Defines the sample rate, number of channels and bits per sample. | |
void | setBitpool (int bitpool) |
Defines the bitpool (2-86?) | |
void | setBlocks (int blocks) |
Defines the number of blocks: valid values (4,8,12,16) | |
virtual void | setOutput (Print &out_stream) |
void | setSubbands (int subbands) |
Defines the subbands: Use 4 or 8. | |
virtual size_t | write (const uint8_t *data, size_t len) |
Protected Member Functions | |
int | codeSize () |
Provides the uncompressed length (of the PCM data) in bytes. | |
int | frameLength () |
Provides the compressed length in bytes (after encoding) | |
void | processByte (uint8_t byte) |
bool | setup () |
Determines audio information and calls sbc_init;. | |
void | writeBlocking (Print *out, uint8_t *data, size_t len) |
Protected Attributes | |
int | allocation_method |
int | bitpool = 32 |
int | blocks = 4 |
Vector< uint8_t > | buffer {0} |
int | buffer_pos = 0 |
int | current_codesize = 0 |
AudioInfo | info |
bool | is_active = false |
bool | is_first = true |
Print * | p_print = nullptr |
Vector< uint8_t > | result_buffer {0} |
sbc_t | sbc |
int | subbands = 4 |
Encoder for SBC - Depends on https://github.com/pschatzmann/arduino-libsbc. Inspired by sbcenc.c.
|
inlinevirtualinherited |
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in CodecNOP, and BinaryContainerEncoder.
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, and ResampleStream.
|
inlinevirtual |
Restarts the processing.
Implements AudioWriter.
Reimplemented in AACEncoderFDK.
Ends the processing.
Implements AudioWriter.
Provides the mime type of the encoded result.
Implements AudioEncoder.
Implements AudioWriter.
Defines the sample rate, number of channels and bits per sample.
Implements AudioWriter.
Reimplemented in MP3EncoderLAME, EncoderBasic, FLACEncoder, OpusAudioEncoder, WAVEncoder, CodecNOP, G7xxEncoder, BinaryContainerEncoder, and OggContainerEncoder.
Implements AudioWriter.