Releases: pschatzmann/ESP32-A2DP
Releases · pschatzmann/ESP32-A2DP
September 2024
- Support for Arduino esp32 core 3.1 / IDF 5.1.4
- Use actual FreeRTOS typedef types in code (support legacy code with defines)
- Improvments in README
July 2024
Full Changelog: v.1.8.2...v1.8.3
June 2024 - Error corrections
- Set default sample rate to 44100
- Prevent AudioTools warning for a2dp source
- correct set_output()
- config.h A2DP_I2S_AUDIOTOOLS via platformio
- Added variable timer for play pos notification, RN_TRACK_CHANGE setter (#560)
- set_avrc_rn_play_pos_callback define default interval to 10 sec
- Update is_i2s_active before deactivating i2s-
- Error message for ESP32 C6
- Support for IDF 5.2.1
- update cmake: add BluetoothA2DPOutput.cpp
- cmake prevent errors
- Linker error
- Remove dependency from Arduino API for delay and millis()
- check esp_bt_controller_init
- Fix broken btStart in Arduino
- bt_init print error codes
- Compile error with ESP 5.0
- playing status example better messages
- Arduino I2S w/o AudioTools
- Sink: provide get_output()
- new methods: set_output_active() and is_output_active()
- increase A2DP_I2S_MAX_WRITE_SIZE to 5k
- 32 bit example: clean up includes
- end(): timout A2DP_DISCONNECT_LIMIT
May 2024 Release
New Functionality
- Continue to provide Legacy examples
- A2DPSource: support of volume buttons on Bluetooth speakers
- A2DPSink: added avrc_rn_play_pos_callback method (thanks to zyphlar)
Error Corrections
- Corrections to SimpleExponentialVolumeControl and LinearVolumeControl
- Make sure that I2S is not used when it has been deactivated (is_output is set to false)
Output classes
- Redesign output and move functionality to separate classes
- 32bit example
Use AudioTools as Output Library
Espressif is retiring the legacy I2S API: So with Arduino 3.0.0 my old I2S integration will not be available any more.
In order to support a unique output API which is version independent, it is recommended to install and use the AudioTools library.
The library, documentation and examples have been updated. To prevent issues in the new ESP32 release, I suggest that you start to use the new functionality.
Further information can be found here
Some minor error corrections
- Cleanup config.h and version checks
- Example for AudioKit
- Support interoperability with BLE with example
- Corrected compile error for Arduino ESP 1.0.6
- Corrected inconsistencies in the reporting of isConnected()
- define set_scan_mode_connectable_default as abstract
- bt_music_receiver_datacallback.ino remove time limit
- Support for Arduino 3.0.0: Use AudioTools for I2S
- Cleanup version checks using ESP_IDF_VERSION
- Obsolete i2s_mclk_pin_select() in ESP 5.1.1
Error corrections / new IDF 5 events
- Activate SPP (Serial protocol) only on request
- Fix set_volume being pure on A2DPNoVolumeControl; Added missing overrides
- Prefer get_peer_name() over get_connected_source_name() for A2DPSink
- Correct bug in set_local_name() for A2DPSource
- Correct compile error in bt_music_sender_disconnect.ino example
- Provide get_name() to both A2DPSink and A2DPSource
- Added Serial.begin() to bt_music_sender_disconnect.ino example
- New BluetoothA2DPSource example: status callback
- BluetoothA2DPSource add lost process_user_state_callbacks
- BluetoothA2DPSource: Unhandled events change from from Error to Warning
- Provide compile option A2DP_I2S_SUPPORT to deactivate I2S
- Prefer get_peer_name() over get_connected_source_name()
- Adding option to specify device name with set_local_name()
- Support for new IDF 5 events
- Prevent compile error for ESP_BT_GAP_ACL_CONN_CMPL_STAT_EVT before idf 4.4.4
- Changed the default setting, so that there is not automatic reconnect!
New Functionality & Error Corrections
I haven't published a new release for quite some time.
Here is the content:
- New raw_stream_reader callback to provide data before volume is applied. Thanks to ArthurKoba
- Remove warnings, fix failing examples, Github Action to auto compile. Thanks to designer2k2
- Task Shutdown on Sink::end(). Thanks to rbuehlma
- New set_ssid_callback() method to select unknown ssid dynamically
- Added missing #pragma once guards to BluetoothA2DPSinkQueued.h
- (Re)Added support for obsolete Channels, so that old examples copied from the Web still compile
- prevent i2s_write if i2s was not started
- Support for include "I2S.h"
- Create compile error for S3
- Move set_event_queue_size (int size) and set_event_stack_size (int size) to common; increase values for source
- Class Documentation using modules
BluetoothA2DPSinkQueued and more Callbacks
- Provide BluetoothA2DPSinkQueued class which uses an additional Queue between A2DP and I2S
- Redesign reconnect logic to prevent an automatic reconnect after a disconnect has been requested via the API or from the remote system
- increased volume for bt_music_receiver_32bit_ext example
- Added support for a post I2S init callback (thanks to adam-puleo)