Repository navigation
raop_rtp: resume mirror audio after an AirPlay video (HLS) session - #604
Draft
danieldhaiti wants to merge 1 commit into
Draft
danieldhaiti wants to merge 1 commit into
danieldhaiti wants to merge 1 commit into
Conversation
danieldhaiti
force-pushed
the
audio-resume-after-hls
branch
from
October 13, 2026 21:19
2d48017 to
be0046d
Compare
Collaborator
|
Yes I think you are right. Right now we shut down the raop_rtp audio thread and the ntp_thread when switching the video pipeline. A video shutdown was done as a simple way to cleanup the previous video window, but there really is no need to to do that for the NTP threads and the audio thread, maybe just stop the pipeline. |
Collaborator
I think this is done when the HLS starts, not stops |
An AirPlay video connection stopped the mirror's audio receiver and timing. The client streams audio through the video and returns to mirroring with a mirror SETUP alone, so nothing restarted them and the audio stayed silent. Leave raop_rtp and raop_ntp running. The relaunch at the video's start still pauses the audio renderer; the HLS end reset starts it again with the audio SETUP's codec and the relaunch loop leaves it alone that once. Packets arriving into a paused renderer are dropped before the base-time check (and data_len was compared as a pointer). Co-Authored-By: Claude Fable 5.1 <[email protected]>
danieldhaiti
force-pushed
the
audio-resume-after-hls
branch
from
October 14, 2026 02:33
be0046d to
0d85d8a
Compare
Collaborator
|
I need to understand better what you want to do. Just give a precise recipe to demonstrate what you think is the issue. as in "do this, then do that, then do this: what I want to happen is...., what actually happens is .... " |
fduncanh
force-pushed
the
master
branch
6 times, most recently
from
October 22, 2026 21:13
a0da077 to
517cbb1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug. Mirror with audio, play a YouTube video (AirPlay HLS), return to mirroring: video comes back, audio stays silent until mirroring is restarted on the phone.
Cause. The AirPlay video connection stops the mirror's audio receiver and timing (raop.c). The phone keeps sending audio and returns with a mirror SETUP only, so nothing restarts them. The relaunch at the video's start also pauses the audio renderer, and only an audio SETUP starts it again; our logs show "start audio connection" (the NULL-renderer branch) at every return.
Fix (your direction). Leave
raop_rtpandraop_ntprunning. The relaunch at HLS start still pauses the audio renderer; the HLS-end reset (RESET_TYPE_HLS_EOSonly, not the NOHOLD fall-through, so a new client still gets a fresh renderer) starts it again with the audio SETUP's codec, and the relaunch loop leaves it alone that once (keep_audio). Packets arriving into a paused renderer are dropped before the base-time check;data_len == 0compared the pointer.Tested. Builds on Ubuntu 26.04, no new warnings. Our appliance runs the same shape; the earlier shape (restart at the mirror SETUP) passed three YouTube-to-mirror returns live. A phone run of this exact shape is pending (no phone at hand today), so still a draft.
🤖 Generated with Claude Code