Skip to content

Releases: pschatzmann/ESP32-A2DP

Arduino ESP32 Core 3.3.7 Support

17 Feb 16:36

Choose a tag to compare

What's Changed

  • ESP32 Core 3.3.7 Support
  • Avoid the 'ringbuffer underflowed!' log message spam by @thegreenshark in #751
  • Add peer name callback by @Zipdox2 in #760
  • fix compile error if A2DP_SPP_SUPPORT=0 by @rferrazz in #763
  • Enhance AVRC deinitialization process by @Shaan-rk in #762
  • Fix: Implement Bidirectional Volume Sync and Prevent Feedback Loop by @GiacoBot in #765

New Contributors

Full Changelog: v1.8.8...v1.8.9

September 2025

25 Sep 15:43

Choose a tag to compare

  • A2DPSource: Support for end() while in discovery mode
  • A2DPSink: added set_max_write_size() and set_max_write_delay_ms()
  • Reconnect error: Start buedroid only once
  • provided to_str(esp_bt_gap_discovery_state_t)
  • A2DPNoVolumeControl: support fixed reduced volume
  • Fix Warnings for IDF 5.5
  • Improved platform checks
  • Updated README.md

February 2025

28 Feb 17:03

Choose a tag to compare

January 2025

19 Jan 15:52

Choose a tag to compare

Common

  • new method set_avrc_rn_event_mask()

A2DPSoruce

  • Correct disconnect(), reconnect() logic
  • set_avrc_passthru_command_callback() to support avrc (buttons) on the bluetooth speakers
  • cleanup legacy functionality:
    • use separate setter methods to define the data callback
    • use start() w/o data callback method
    • Remove SoundData and all related functionality
    • adjusted examples for new conventions

A2DPSink

  • new methods for volume_up() and volume_down()
  • Support for latest AudioTools release

November 2024

11 Dec 08:42

Choose a tag to compare

  • Support for idf 5.1.4
  • Rename bt_music_receiver_simple example
  • Added method is_discovery_active to A2DP source
  • Added set_bt_discovery_mode_callback to A2DP source
  • Added set_valid_cod_service and isValidAudioService() to A2DP to A2DP source
  • Remove player_init status flag
  • Update to latest AudioTools version (includes convention, logger)
  • Corrected misspelled set_rssi_callback
  • Doxygen support for external enums and typedefs

September 2024

04 Oct 11:54

Choose a tag to compare

  • 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

03 Aug 07:24

Choose a tag to compare

Full Changelog: v.1.8.2...v1.8.3

June 2024 - Error corrections

03 Jul 11:39

Choose a tag to compare

  • 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

14 May 06:02

Choose a tag to compare

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

10 Apr 09:57

Choose a tag to compare

  • Redesign output and move functionality to separate classes
  • 32bit example