Skip to content

fix(berd-call): prevent status sounds from stalling microphone input - #423

Closed
johnmatthewtennant wants to merge 2 commits into
mainfrom
nora/status-sound-pcm-fix
Closed

johnmatthewtennant wants to merge 2 commits into
mainfrom
nora/status-sound-pcm-fix

Conversation

@johnmatthewtennant

@johnmatthewtennant johnmatthewtennant commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Fix a call-start microphone overflow when native status-sound work stalls the session loop. The reported failure accepted 32 PCM buffers without processing one while the loop was in status-sound polling.

Run status-sound loading, device creation and playback on the existing managed worker in both session modes. Queue conversation-activity changes without waiting for that worker, so microphone processing can continue during a slow output operation. Existing acknowledged activity callers retain their API.

Related issue

N/A. No matching issue or PR found.

Testing

session_activity_does_not_wait_for_a_stalled_audio_worker deliberately leaves the audio worker unserviced and verifies the session-facing activity call returns within 100 milliseconds. The acknowledged path fails this regression; the queued path passes.

Native acceptance: the combined build at 7a66ed3014d17a4fcc312b246371c5d912de30af, containing this PCM fix and the Advanced VAD changes, was installed with matching source/install SHA256. A replacement AirPods call started successfully. This verifies ordinary native startup on the combined build; a forced native-output stall with measured continued PCM processing has not been exercised.

Nora added 2 commits October 22, 2026 08:26
Signed-off-by: Nora <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz>
Signed-off-by: Nora <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz>
@johnmatthewtennant

Copy link
Copy Markdown
Contributor Author

🤖 Closing as superseded by #425, which includes the PCM worker integration from this PR. This closure does not indicate that the fix has merged.

johnmatthewtennant added a commit that referenced this pull request Oct 22, 2026
…#425)

## Summary

Prevent native status audio operations from blocking the microphone PCM
loop. Keep cues on their five-second schedule, skip cues due during
speech, and let a cue already playing finish. A Working/Waiting
transition during speech is announced after speech ends.

Status cues follow the existing mute-during-TTS setting, with Auto
resolved against the selected output. Cue suppression pauses incoming
PCM without discarding active speech or pending recognition.

### Related issue

Supersedes #423. Optional VAD debug
playback and its controls belong to
#426; this PR does not advertise or
implement them.

### Testing

Retained regressions pass for skipped ticks without catch-up, active
sample completion, deferred status announcements, microphone admission
while an audio worker is stalled, recognition-epoch preservation and
selected-output Auto policy. A compatibility regression loads
preferences from a debug-enabled build, saves and reloads them, verifies
unrelated nondefault values survive, and verifies the optional debug key
is omitted.

The rebuilt settings help omits the debug flag while retaining status
and input-policy controls. The full package run still reports the
previously observed Spokesperson timing/fixture, CLI usage and
session-protocol failures. Normal push checks pass. Focused removal
review reports no findings. Installed call and plugin files are
unchanged.

---------

Signed-off-by: Gigi <65cc00ce5da00abcd27be4a87ad29d7ef8431766d769a24d94f004fb8fe07066@buzz.block.builderlab.xyz>
Signed-off-by: Nora <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz>
Signed-off-by: Zack <04f47b290b155b3b8b782b11501cdb15f1e21e82dfceefd01ff0ed405459d927@buzz.block.builderlab.xyz>
Co-authored-by: Gigi <65cc00ce5da00abcd27be4a87ad29d7ef8431766d769a24d94f004fb8fe07066@buzz.block.builderlab.xyz>
Co-authored-by: Nora <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz>
Co-authored-by: Zack <04f47b290b155b3b8b782b11501cdb15f1e21e82dfceefd01ff0ed405459d927@buzz.block.builderlab.xyz>
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.

1 participant