|
| 1 | +# ESP WebRTC Solution v1.2 Release Notes |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +ESP WebRTC Solution v1.2 is a significant update that brings enhanced stability, new features, expanded hardware support, and improved developer experience. This release includes major component updates, critical bug fixes. |
| 6 | + |
| 7 | +## What's New |
| 8 | + |
| 9 | +### 1️⃣ Peer Connection Enhancements |
| 10 | + |
| 11 | +**esp_peer updated to v1.2.7** |
| 12 | + |
| 13 | +**New Features:** |
| 14 | +- ✔️ Support for multiple data channels |
| 15 | +- ✔️ Support for Forward-TSN (Transmission Sequence Number) |
| 16 | +- ✔️ Support for ESP32-C5 microcontroller |
| 17 | + |
| 18 | +**Bug Fixes:** |
| 19 | +- ✔️ Fixed stability issues under poor network conditions |
| 20 | +- ✔️ Fixed potential crash caused by race conditions |
| 21 | +- ✔️ Fixed DTLS role mismatch issue |
| 22 | +- ✔️ Added msid attribute in SDP for better stream identification |
| 23 | +- ✔️ Fixed TURN relay connectivity issues |
| 24 | + |
| 25 | +### 2️⃣ New Capture System – GMF-based [esp_capture](https://github.com/espressif/esp-gmf/tree/main/packages/esp_capture) |
| 26 | + |
| 27 | +The legacy capture system has been replaced with a GMF (Generic Media Framework) implementation, providing significant extensibility improvements: |
| 28 | + |
| 29 | +- Support for multiple capture paths |
| 30 | +- Automatic capability negotiation to simplify configuration |
| 31 | +- Enhanced pipeline flexibility for multimedia processing |
| 32 | + |
| 33 | +### 3️⃣ Published Components to ESP-IDF Registry |
| 34 | + |
| 35 | +Now available as independent, reusable components: |
| 36 | +- [esp_peer](https://components.espressif.com/components/espressif/esp_peer) |
| 37 | +- [esp_capture](https://components.espressif.com/components/espressif/esp_capture) |
| 38 | +- [av_render](https://components.espressif.com/components/tempotian/av_render) |
| 39 | +- [media_lib_sal](https://components.espressif.com/components/tempotian/media_lib_sal) |
| 40 | +- [codec_board](https://components.espressif.com/components/tempotian/codec_board) |
| 41 | + |
| 42 | +### 4️⃣ Solution Updates |
| 43 | + |
| 44 | +**New Solution:** |
| 45 | +- Added [kms_demo](https://github.com/espressif/esp-webrtc-solution/tree/main/solutions/kms_demo) for Kurento Media Server Publisher |
| 46 | + |
| 47 | +**Improvements:** |
| 48 | +- Added AI processing (Pedestrian Detection) to doorbell_local demo |
| 49 | +- Fixed OpenAI demo function call build error |
| 50 | + |
| 51 | +### 5️⃣ Other Features and Improvements |
| 52 | + |
| 53 | +- HTTP client refined: supports redirect and OPTIONS requests |
| 54 | +- Added SEI injection support via video send hook – thanks to [Todd Sharp](https://github.com/recursivecodes) |
| 55 | +- Fixed WHIP signaling issue when ICE server not configured |
| 56 | +- Added bitrate setting control for esp_webrtc |
| 57 | +- Fixed crash issue when resetting while renderer is created |
| 58 | +- Fixed data queue read/write dead-loop issue |
| 59 | +- Fixed codec board pin configuration issue |
| 60 | + |
| 61 | +**🆕 New board supports:** |
| 62 | +- ESP32P4-EYE |
| 63 | +- XIAO ESP32S3 Sense |
| 64 | + |
| 65 | +## Migration Guide — Upgrading to v1.2.0 |
| 66 | + |
| 67 | +This release introduces the GMF-based Capture System, which replaces the old esp_capture APIs. To upgrade smoothly, please review the following compatibility changes: |
| 68 | + |
| 69 | +For detailed changes, please refer to commit [0ad48d](https://github.com/espressif/esp-webrtc-solution/commit/0ad48d537082f9c24d4fc228863b6138e3e78417#diff-038ca219eec1eb427e8b0296bdcfbbc0f8af70e89d380763e60f7ce313f9bf70). |
| 70 | + |
| 71 | +Users only need to update `media_sys.c` and replace the relevant APIs or configurations as shown in the table below. |
| 72 | + |
| 73 | +### Capture System API Changes |
| 74 | + |
| 75 | +| Legacy API (Simple Capture) | New API (GMF Capture) | Notes | |
| 76 | +|-----------------------------------|---------------------------------|---------| |
| 77 | +| esp_capture_audio_codec_src_cfg_t | esp_capture_audio_dev_src_cfg_t | Renamed | |
| 78 | +| esp_capture_new_audio_codec_src | esp_capture_new_audio_dev_src | Renamed | |
| 79 | +| ESP_CAPTURE_CODEC_TYPE_* | ESP_CAPTURE_FMT_ID_* | Renamed | |
| 80 | +| esp_capture_path_handle_t | esp_capture_sink_handle_t | Renamed | |
| 81 | +| esp_capture_setup_path | esp_capture_sink_setup | Renamed | |
| 82 | +| esp_capture_enable_path | esp_capture_sink_enable | Renamed | |
| 83 | +| esp_capture_acquire_path_frame | esp_capture_sink_acquire_frame | Renamed | |
| 84 | +| esp_capture_release_path_frame | esp_capture_sink_release_frame | Renamed | |
| 85 | + |
| 86 | +## Obtaining v1.2.0 |
| 87 | + |
| 88 | +Users can obtain the release code using either of the following methods: |
| 89 | + |
| 90 | +### Method 1: Using Git (Recommended) |
| 91 | + |
| 92 | +```bash |
| 93 | +git clone -b v1.2.0 https://github.com/espressif/esp-webrtc-solution.git esp-webrtc-solution-v1.2.0 |
| 94 | +cd esp-webrtc-solution-v1.2.0/ |
| 95 | +``` |
| 96 | + |
| 97 | +This is the recommended method for obtaining v1.2.0 of ESP WebRTC Solution. |
| 98 | + |
| 99 | +### Method 2: Download Archive |
| 100 | + |
| 101 | +Alternatively, you can download the release archive directly from GitHub: |
| 102 | +[esp-webrtc-solution-v1.2.0.zip](https://github.com/espressif/esp-webrtc-solution/archive/refs/tags/v1.2.0.zip) |
| 103 | + |
| 104 | +## Support |
| 105 | + |
| 106 | +For issues and feature requests, please use the [GitHub issue tracker](https://github.com/espressif/esp-webrtc-solution/issues). |
| 107 | + |
| 108 | +## Contributors |
| 109 | +We thank all contributors who helped improve this release. |
0 commit comments