Skip to content

feat(audio): Add support for audio playback if an audio stream is provided#15

Open
finger563 wants to merge 3 commits into
mainfrom
feat/streamer-audio-update
Open

feat(audio): Add support for audio playback if an audio stream is provided#15
finger563 wants to merge 3 commits into
mainfrom
feat/streamer-audio-update

Conversation

@finger563

Copy link
Copy Markdown
Contributor
  • update deps; remove exception requirement
  • feat(audio): Add support for audio playback if the server provides it

Description

Motivation and Context

How has this been tested?

Screenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update
  • Hardware (schematic, board, system design) change
  • Software change

Checklist:

  • My change requires a change to the documentation.
  • I have added / updated the documentation related to this change via either README or WIKI

Software

  • I have added tests to cover my changes.
  • I have updated the .github/workflows/build.yml file to add my new test to the automated cloud build github action.
  • All new and existing tests passed.
  • My code follows the code style of this project.

Hardware

  • I have updated the design files (schematic, board, libraries).
  • I have attached the PDFs of the SCH / BRD to this PR
  • I have updated the design output (GERBER, BOM) files.

Copilot AI review requested due to automatic review settings June 7, 2026 22:26
@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

✅Static analysis result - no issues found! ✅

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the ESP-IDF / component dependencies and extends the RTSP client to optionally play back PCM audio when an audio track is advertised by the server (in addition to the existing MJPEG video display flow).

Changes:

  • Updated dependencies.lock (notably ESP-IDF and multiple espp/* components) and removed the previous config that forced C++ exceptions.
  • Added RTSP rediscovery/retry flow and RTP port selection, plus audio-track discovery/configuration and PCM playback (BOX/T-DECK only).
  • Reduced VRAM row allocation and improved runtime logging/statistics for first-frame and audio status.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.

File Description
sdkconfig.defaults Removes the forced C++ exceptions setting (aligned with updated dependency requirements).
main/main.cpp Adds RTSP rediscovery + audio playback support and related metrics/logging; adjusts VRAM sizing and display driver offset usage.
dependencies.lock Bumps ESP-IDF and component versions; adds new component entries (e.g., espp/spi).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread main/main.cpp
Comment on lines +93 to +98
static std::pair<size_t, size_t> get_next_rtp_port_pair() {
static std::atomic<size_t> next_rtp_slot{0};
constexpr size_t num_rtp_slots = ((max_rtp_port - min_rtp_port) / 2) + 1;
size_t rtp_port = min_rtp_port + 2 * (next_rtp_slot.fetch_add(1) % num_rtp_slots);
return {rtp_port, rtp_port + 1};
}
Comment thread main/main.cpp
return;
}

auto channels = std::max(audio_track_it->channels, 1);
@github-actions

Copy link
Copy Markdown

ESP-IDF Size Report for 'Camera Display'

Metric Base PR Delta
FLASH 1,325,756 bytes (31.61%) 1,279,152 bytes (30.50%) ⬇️ -46,604 bytes (-1.11%)
DRAM 183,379 bytes (53.66%) 186,195 bytes (54.48%) 🔺 +2,816 bytes (+0.82%)
IRAM 0 bytes 0 bytes 0 bytes
RAM (DRAM+IRAM) 183,379 bytes 186,195 bytes 🔺 +2,816 bytes (+0.82%)

FLASH uses app .bin size or json2 flash sum. RAM sums DRAM+IRAM via idf_size. Percentages shown when totals are available.
DRAM/IRAM usage does not include memory used by the heap allocator at runtime.
This report was generated by esp-idf-size-delta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants