Skip to content

fix: host vertex remember last channel number send to audio thread - #1343

Open
mdydek wants to merge 1 commit into
mainfrom
fix/remember-last-channel-number
Open

mdydek wants to merge 1 commit into
mainfrom
fix/remember-last-channel-number

Conversation

@mdydek

@mdydek mdydek commented Oct 14, 2026

Copy link
Copy Markdown
Member

Closes #1332

⚠️ Breaking changes ⚠️

Introduced changes

  • previously the decision whether to change the channel count was decided on the host thread, but queried using value from render thread, on which already scheduled changes could not yet take place, right now, remember the last value that was sent to the render thread and if that differs schedule buffer swap
  • refactor channel number computation, right now it does not traverse through inputs, because it do not have to, only current node and outputs further in the graph could change

Checklist

  • Linked relevant issue
  • Updated relevant documentation
  • Added/Conducted relevant tests
  • Performed self-review of the code
  • Updated Web Audio API coverage
  • Added support for web
  • Updated old arch android spec file

@mdydek mdydek added the fix Code changes specifically addressing and resolving a bug label Oct 14, 2026
@github-actions

Copy link
Copy Markdown

WPT non-regression comparison

PASS — no regressions · 0 improved section(s) · overall 3427 → 3427 (0)

Unchanged sections (28)
Spec section Base pass Head pass Delta
Processing model 1 1 0
Other 56 56 0
AnalyserNode 138 138 0
AudioBuffer 140 140 0
AudioBufferSourceNode 220 220 0
AudioContext 58 58 0
AudioNode 261 261 0
AudioParam 680 680 0
BiquadFilterNode 275 275 0
ChannelMergerNode 30 30 0
ChannelSplitterNode 7 7 0
ConstantSourceNode 64 64 0
ConvolverNode 178 178 0
DelayNode 127 127 0
DestinationNode 0 0 0
DynamicsCompressorNode 4 4 0
GainNode 15 15 0
IIRFilterNode 87 87 0
MediaElementAudioSourceNode 0 0 0
MediaStreamAudioDestinationNode 1 1 0
MediaStreamAudioSourceNode 0 0 0
OfflineAudioContext 35 35 0
OscillatorNode 104 104 0
PannerNode 727 727 0
PeriodicWave 33 33 0
ScriptProcessorNode 0 0 0
StereoPannerNode 104 104 0
WaveShaperNode 82 82 0

Baseline: eb17d846e2e16cf3c82e0807a35f30565f10653e · Candidate: ad1dcc4d097b62f64b3db35e943ee1c2193507e9

Workflow run · this comment is updated on every push.

This branch has not been deployed

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

Labels

fix Code changes specifically addressing and resolving a bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Channel negotiation drops buffer swaps when several graph changes land in one render quantum

1 participant