esp-gmf-skill

Builds ESP-GMF audio and video streaming pipelines on ESP32 chips.

28|3|Updated Jun 24, 2026
One-click install
npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-gmf-skill-jasonyang170
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: esp-gmf-skill
Source: https://github.com/JasonYANG170/esp-dev-skill/tree/main/repos/esp-gmf
Command: npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-gmf-skill-jasonyang170

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Developing multimedia applications with ESP-GMF requires knowing exact pipeline construction order, element tags, state machine rules, and stack sizing; mistakes cause silent failures, stack overflows, or deadlocks. This Skill provides verified recipes, API references, and pitfall lists grounded in the real ESP-GMF repository so generated code works on ESP32 targets. ## Core Features & Use Cases - Scenario Recipes: 16 recipes covering playback (file/HTTP/embed flash), recording, muxing, audio effects, custom elements, Bluetooth audio (A2DP/HFP/LE Audio), multi-stream mixing, video rendering, capture, and AI audio frontends. - API and Config Reference: Real function signatures for pool/pipeline/task/element/IO plus Kconfig, FourCC, and task stack configuration guidance. - Pitfall Prevention: 12+ documented error patterns such as missing loading_jobs, unpaired acquire/release, and HTTPS stack overflow, each with correct code. - Use Case: Ask the agent to build an HTTP MP3 player on ESP32-S3; it produces the pool registration, pipeline construction, event handling, and idf.py build commands following the canonical workflow. ## Quick Start Ask the agent to create an ESP-GMF pipeline that plays an MP3 file from embedded flash to the codec device on an ESP32-S3 board.

Frequently Asked Questions about esp-gmf-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build an ESP-GMF audio playback pipeline on ESP32?

Initialize a pool with esp_gmf_pool_init, register elements via gmf_loader setup functions, then call esp_gmf_pool_new_pipeline with element names like aud_dec. Bind a task, call loading_jobs, set the event callback, and run the pipeline.

What is the difference between esp_audio_simple_player and GMF-Core pipelines?

esp_audio_simple_player is a high-level package for quick URI-driven playback, while GMF-Core gives fine-grained control over elements, ports, and tasks. Use the simple player for fast results and GMF-Core when you need custom elements or manual orchestration.

Which ESP-IDF versions does ESP-GMF support?

ESP-GMF requires ESP-IDF v5.4.3 or later on release/v5.4, v5.5.2 or later on release/v5.5, or v6.0 and above. Components are pulled through the ESP Component Manager via idf_component.yml declarations.

Why does HTTPS audio playback crash or reset on ESP32?

HTTPS playback fails because the default 4 KB task stack is too small for the TLS handshake in mbedtls. Increase the task stack to at least 8 KB and call esp_gmf_task_set_timeout with around 20000 ms.

Why does my ESP-GMF pipeline not restart after an error?

A pipeline in ESP_GMF_EVENT_STATE_ERROR cannot be run directly and returns ESP_GMF_ERR_NOT_SUPPORT. You must call esp_gmf_pipeline_reset, then esp_gmf_pipeline_loading_jobs again, before calling run.

Can ESP-GMF handle Bluetooth audio like A2DP and LE Audio?

Yes, the esp_bt_audio package supports classic Bluetooth A2DP Sink/Source, HFP, AVRCP, PBAP, and LE Audio TMAP unicast and broadcast. Streams connect to GMF pipelines through esp_gmf_io_bt using esp_gmf_io_bt_set_stream.