Breaking Changes
- A2DPConfig uses Snakecase variable names!
- Use addAudioInfoChange instead of setAudioInfoChange (however this call might not be necessary any more in most of the cases)
- The a2dp and http examples have been moved to the examples-communications directory
New Classes
- Pipeline
- StreamingDecoderAdapter: Support for StreamingDecoder API for all decoders
- Task class for FreeRTOS tasks
- ChannelsSelectOutput: flexilbe channel output selection
- Bin: Added Binning to BaseConverter
New Functionality
- Support for Allocators (ESP32 support for PSRAM) in all collections
- AudioInfoSupport: audioInfo() provides input information, audioInfoOut() provides output information.
Improvements
- ESP32: I2S optimization for changing the sample rate
- moved int24_t into namespace to avoid any conflicts
- Codecs begin() method returns boolean instead of void so that we can check for success
- Restructured Concurrency Classes
- AudioEncoder and AudioDecoder inherits from AudioInfoSupport
- FileLoopT skips WAV Header automatically
- TransformationReader is used by all classes which do not have a separate read implementation
- MozziStream: support of standard Mozzi library
- PD examples
- Mozzi examples
- Removed the requirements for symlinks to make Windows user happy
Error Corrections
- TimedStream: recalculate ByteLimits when setting values (#1407)
- ESP32 V3.0 support
- URLStream support for 3.0.0
- Compile errors in examples
- Resolved issues ardound the combinaion of resampling and mixing
- FFTDisplay prevent crash when user defines wrong max value
- SDDirect reset size() on begin