Here is the v1.0 release summary for ESP-GMF, based on component changelogs from v0.8 to the current v1.0 component set.
Overview
v1.0 is the first official, API-stable release of ESP-GMF. Compared with v0.8, it consolidates the framework, promotes every official component to a 1.0.x baseline, and adds several new advanced modules. Key updates by area:
- Promoted all components to
1.0.x— public APIs are now considered stable. - Added 4 new advanced/atomic modules:
esp_player,esp_asrc,esp_video_render, andgmf_fft. - New elements:
aud_muxer,aud_howl,aud_asrc(gmf_audio) andai_vad,ai_ns,ai_doa(gmf_ai_audio). gmf_coreadds anesp_gmf_data_queue+ data-bus factory for variable-sized block queues, stronger memory-alignment handling fordata_bus/payload, andHOWL/DOA/MUXERcapability definitions.gmf_audioadds muxer/howl/ASRC elements, decoder input-PTS support, and bumpsesp_audio_codecto v2.5 (G722 encode/decode, OGG decode).gmf_video/esp_video_renderadd hardware-blend and multi-region overlay, PPA software color-convert, manual compose, and broader display-backend support.esp_capture/esp_bt_audioadd ESP32-S31 v4l2 + MJPEG→RGB decode, LE Audio (BLE) and Auracast PAST support, and adopt the sharedesp_gmf_data_queue.- Board management moved out of the repo:
esp_board_manageris now the standalone espressif/esp-board-manager component, and examples useesp-bmgr-assist(idf.py bmgr) instead of per-exampleprebuild/idf_ext.pyscripts.
Compatibility Notes
- Breaking Change (
gmf_core): The usage ofesp_gmf_fifo_set_alignchanged. Review any direct callers and update them for the new alignment-aware semantics. - Breaking Change (
esp_audio_simple_player): The first argument ofesp_asp_prev_func_tchanged fromesp_asp_handle_t *handletoesp_asp_handle_t handle. Update youron_pre_run/pre-run callbacks accordingly (theesp_audio_renderexample was updated to match). - FourCC change (
gmf_core): TheFLVFourCC was corrected fromFLV1toFLV. If your application persists or compares raw FourCC values, update your logic. - Board manager migration:
esp_board_managerno longer ships insideesp-gmf. It is now the standalone espressif/esp-board-manager component (current release0.5.15; examples depend on it via>=0.5). The per-exampleprebuild.sh/prebuild.ps1/idf_ext.pyforwarders were removed — installesp-bmgr-assist(pip install esp-bmgr-assist) and runidf.py bmgr -b <board>before building.
GMF Components Summary (All Official Components in This Repo)
| Component | Category | Version | Highlights | Changelog |
|---|---|---|---|---|
| esp_player | New Module | v1.0.1 | New embedded multimedia player: demux + decode + audio/video render with seek; decoder/IO stability fixes | 📝 |
| esp_audio_simple_player | Enhancements | v1.0.0 | Breaking esp_asp_prev_func_t signature change, weak-typed URL playback detection, dynamic URI→IO mapping, esp_audio_simple_player_get_pool, bit-depth conversion Kconfig |
📝 |
| esp_capture | Enhancements | v1.0.0 | Shared esp_gmf_data_queue adoption, esp-sr v2.4, ESP32-S31 v4l2 + MJPEG→RGB decode, multi-region overlay & share_overlay, restart-bypass fix |
📝 |
| esp_bt_audio | Enhancements | v1.0.0 | LE Audio (BLE) support, Auracast PAST + clock-sync check, Classic/LE UI in the bt_audio example, standalone board-manager |
📝 |
| esp_audio_render | Enhancements | v1.0.0 | ESP32-S31 example support, payload-clear memory-access fix, standalone board-manager example migration | 📝 |
| esp_video_render | New Module | v1.0.0 | New video + UI composition module: multi-backend display, dual stream, overlay/widget system, and manual compose | 📝 |
| esp_asrc | New Module | v1.0.1 | New audio sample-rate converter (sample rate / bit depth / channel count) with HW–SW cooperative architecture; ESP32-P4 & S31 support | 📝 |
| esp_board_manager | External (standalone repo) | 0.5.15 | Migrated out of esp-gmf into its own repository; examples integrate it via esp-bmgr-assist (idf.py bmgr) |
📝 |
| gmf_loader | Enhancements | v1.0.0 | Loader setup for muxer/howl/asrc and standalone AI elements (VAD/NS/DOA), G722/OGG and HOWL effect configuration, standalone board-manager | 📝 |
| gmf_app_utils | Enhancements | v1.0.0 | Adopted the standalone esp-board-manager component (>=0.5) |
📝 |
| gmf_examples | Enhancements | v1.0.0 | New pipeline_record_audio_muxer & pipeline_howl examples; migrated examples to standalone esp-board-manager + esp-bmgr-assist (idf.py bmgr) |
📝 |
| gmf_audio | Enhancements | v1.0.0 | New aud_muxer/aud_howl/aud_asrc elements, decoder input-PTS support, esp_audio_codec v2.5 (G722/OGG), finer-grained mutex protection |
📝 |
| gmf_video | Enhancements | v1.0.0 | vid_overlay hardware blend & multi-region, ESP32-S31 v4l2, PPA software color-convert, plus alignment/bypass and IDF v5.x/6.x build fixes |
📝 |
| gmf_ai_audio | Enhancements | v1.0.0 | New ai_vad/ai_ns/ai_doa elements, esp-sr v2.4.4, ESP32-S31 support, board-manager-based example configuration |
📝 |
| gmf_io | Enhancements | v1.0.0 | Default HTTPS certificate-bundle support for HTTP IO and IDF v6.0+ build fixes | 📝 |
| gmf_misc | Enhancements | v1.0.0 | No functional delta in v1.0; version aligned with the v1.0 ecosystem | 📝 |
| gmf_fft | New Module | v1.0.0 | New fixed-point Q15 real FFT/IFFT with PIE acceleration (S3/P4/S31) and a scalar fallback covering all ESP32 series | 📝 |
| gmf_core | Enhancements | v1.0.0 | Variable-sized block data queue + data-bus factory, stronger data_bus/payload alignment (breaking esp_gmf_fifo_set_align), HOWL/DOA/MUXER caps, IO seek/reload & resource-leak fixes, FourCC additions/corrections |
📝 |
Get This Release
git clone https://github.com/espressif/esp-gmf.git esp-gmf-v1.0
cd esp-gmf-v1.0
git checkout v1.0Or add selected components directly via idf.py:
idf.py add-dependency "espressif/esp_player^1.0.1"
idf.py add-dependency "espressif/esp_audio_simple_player^1.0.0"
idf.py add-dependency "espressif/esp_capture^1.0.0"
idf.py add-dependency "espressif/esp_bt_audio^1.0.0"
idf.py add-dependency "espressif/esp_audio_render^1.0.0"
idf.py add-dependency "espressif/esp_video_render^1.0.0"
idf.py add-dependency "espressif/esp_asrc^1.0.1"
idf.py add-dependency "espressif/gmf_loader^1.0.0"
idf.py add-dependency "espressif/gmf_app_utils^1.0.0"
idf.py add-dependency "espressif/gmf_examples^1.0.0"
idf.py add-dependency "espressif/gmf_audio^1.0.0"
idf.py add-dependency "espressif/gmf_video^1.0.0"
idf.py add-dependency "espressif/gmf_ai_audio^1.0.0"
idf.py add-dependency "espressif/gmf_io^1.0.0"
idf.py add-dependency "espressif/gmf_misc^1.0.0"
idf.py add-dependency "espressif/gmf_fft^1.0.0"
idf.py add-dependency "espressif/gmf_core^1.0.0"