Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upImprove WebAudio messaging model to match Firefox #21659
Labels
Comments
|
I think for the reverse -- the render thread messaging the DOM -- we should also use a single pipeline. This goes for:
This doesn't affect synchronous DOM calls that need to wait on WebAudio. |
|
The AudioParam fixes will also be needed to implement param-dependent things like Note that currently AudioParams don't like being only occasionally updated -- if they end up skipping events entirely the start values can be wrong. This will also need to be fixed. |
|
There also may be timing issues when you start audiocontexts. |
bors-servo
added a commit
that referenced
this issue
Sep 20, 2018
Implement BiquadFilterNode A bunch of tests still fail but some of it may be a timing issue, looking at it the tests are *at least* affected by #21659 (changing how they work to avoid problems from that does not make them pass but does change the exact value of the error), so I feel like I should fix that first before investigating these. r? @ferjm <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21750) <!-- Reviewable:end -->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The way it's currently set up, WebAudio JS API calls may end up occurring on different render quanta even if they occur in the same task. Plus,
currentTimeis a cross-thread sync call which is no good.I discussed this with @padenot and the Firefox model seems like a good way to go forward here.
What Firefox does is:
currentTimeis kept up to date on the main/DOM thread via an event sent to the main thread every render quantumWorth noting: Chrome handles currentTime with an atomic (so it may update underneath you), but we can't do that anyway because of a possible process boundary.
cc @ferjm