Skip to content

fix(mod_conference): retry active input before silence#3047

Open
roblindsay24 wants to merge 1 commit into
signalwire:masterfrom
roblindsay24:codex/fix-conference-input-underflow-3024
Open

fix(mod_conference): retry active input before silence#3047
roblindsay24 wants to merge 1 commit into
signalwire:masterfrom
roblindsay24:codex/fix-conference-input-underflow-3024

Conversation

@roblindsay24
Copy link
Copy Markdown

Closes #3024.

Summary

  • record and signal each successful audio_buffer write from the conference input thread
  • factor mixer-side audio reads into a helper so the same real-frame read path is used on the initial pass and retry pass
  • when the mixer would otherwise classify the whole conference as having no source audio and emit silence, wait up to 2 ms on an active/recent input source and retry real audio once

Why

The reported distortion happens when the mixer sees no complete input frame and drops into the global silence branch even though an input thread is actively feeding a continuous source. This patch does not replay the last frame and does not synthesize substitute audio, so it should be safer for FSK/modem-like tones than concealment approaches. It only gives the real input thread a short condition-variable window at the exact point where the mixer is about to insert silence.

Validation

  • git diff --check -- src/mod/applications/mod_conference/conference_loop.c src/mod/applications/mod_conference/conference_member.c src/mod/applications/mod_conference/mod_conference.c src/mod/applications/mod_conference/mod_conference.h
  • Pulled signalwire/freeswitch-public-ci-base:bookworm-amd64 and started the official Sofia-SIP + FreeSWITCH CI build sequence locally; the full build did not complete before my local timeout, so this PR still needs normal CI/maintainer runtime validation.

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.

[Bounty $200] mod_conference: Core of the conference mixer wrongly inserts silence packets which cause audio distortion

2 participants