Breaking Changes
The 1.2.0 release contains some breaking changes.
- I was making the http an optional functionality!. This has the advantage that WiFi.h is not included by default, so the resources are reduced dramatically for sketches that do not need any networking:
An empty sketch only importing AudioTools.h was using
Sketch uses 888547 bytes (67%) of program storage space. Maximum is 1310720 bytes.
Global variables use 43352 bytes (13%) of dynamic memory, leaving 284328 bytes for local variables. Maximum is 327680 bytes.
With 1.2.0 it is quite smaller
Sketch uses 281671 bytes (21%) of program storage space. Maximum is 1310720 bytes.
Global variables use 20768 bytes (6%) of dynamic memory, leaving 306912 bytes for local variables. Maximum is 327680 bytes.
Compared with an empty sketch, including this library just uses 20 bytes progmem and 8 bytes of dynamic memory!
If you want to use some networking functionality use
#include "AudioTools.h"
#include "AudioTools/Communication/AudioHttp.h"
- The second breaking change is that all communication related functionality has been moved from AudioLibs to Communication
- A2DPStream
- AudioClientRTSP.h
- AudioServerEx.h
- HLSStream.h
- VBANStream.h
So please use the new location e.g.
#include "AudioTools.h"
#include "AudioTools/Communication/A2DPStream.h"
New Functionality
- new converter class ChannelMixer to convert 1 stereo into 2 identical mono channels
- the RTSP Server and Client has been integrated into this library
Improvements:
- FLACDecoderFoxen/OpusAudioDecoder: optoinal support for release on end
- Platform tests: add giga,zephyr, stm32
- Doxygen comments on div classes
- AudioSource, Metadata: change begin from void to bool
- CodecWAV: convert 8 bits to 16 bits
- ESP32 configuration: USE_LEGACY_I2S to select I2S implementation
- GoertzerlStream: support for multiple frequencies
- AudioInfo: bool() check for range
- EncodedAudioStream/EncodedAudioOutput get AudioInfo from decoder
Error Corrections
- GIGA R1: Compile errors
- AudiopPlayer: copy(size_t) on silence: correct written silence size
- CopyEncoder: prevent NPE
- EncodedAudioStream/EncodedAudioOutput: prevent invalid AudioInfo