Closed
Bug 1203616
Opened 9 years ago
Closed 9 years ago
Noisy/distorted audio on Web Audio demo (Ring Modulator from BBC)
Categories
(Core :: Web Audio, defect, P1)
Tracking
()
RESOLVED
FIXED
mozilla44
People
(Reporter: epinal99-bugzilla2, Assigned: padenot)
References
()
Details
(Keywords: regression, Whiteboard: [mozfr-community])
Attachments
(3 files, 1 obsolete file)
2.55 KB,
patch
|
karlt
:
review+
Sylvestre
:
approval-mozilla-aurora+
Sylvestre
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
4.99 KB,
patch
|
karlt
:
review+
Sylvestre
:
approval-mozilla-aurora+
Sylvestre
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
5.12 KB,
patch
|
Details | Diff | Splinter Review |
Bug found when triaging bug 1203111. STR: 1) Open http://webaudio.prototyping.bbc.co.uk/ring-modulator/#demo 2) Click on the speech tooltips. Result: audio is altered and noisy. Regression range: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=7a68ee30a57450602d7e445a5ba61c2cdbb0c07e&tochange=6ce98e37b52e63b3d1cb452e9bb61edc164f6ddb Yanis Sellami — Bug 1118372 - Properly apply volume in WaveShaperNodeEngine. r=padenot
status-firefox40:
--- → unaffected
status-firefox41:
--- → affected
status-firefox42:
--- → affected
status-firefox43:
--- → affected
tracking-firefox42:
--- → ?
tracking-firefox43:
--- → ?
Flags: needinfo?(yanisellami)
Comment 1•9 years ago
|
||
Thanks, Loic. I think this may be an effect of bug 1190215.
Depends on: 1190215
Comment 2•9 years ago
|
||
Tracking for 42+. It is probably too late to take this in 41. Karl, how bad is this regression and how widespread are its effects?
tracking-firefox41:
--- → ?
Flags: needinfo?(karlt)
Comment 3•9 years ago
|
||
It's a bad bug, but things, including the url here, were bad before due to bug 1118372. Basically WaveShaperNode only works in particular situations. There are some situations where things may have worked before bug 1118372 was fixed, but don't now. However, I think it works in more situations now than before, so I think backing out changes from bug 1118372 would not be an improvement.
Flags: needinfo?(karlt)
Priority: -- → P1
Too late to get a fix in 41. While this is a valid bug, I do not believe it is a release blocker for 41. It would be nice if we can get a fix soon, for 42.
No use tracking it for 41.
Comment 6•9 years ago
|
||
Maire, can you help find an owner for this bug? Thanks!
Flags: needinfo?(mreavy)
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → padenot
Comment 7•9 years ago
|
||
Hi Liz, Paul is going to look at this and see how much worse we made things. Depending on the fix and the risks/rewards, we'll see how far we want to uplift.
Rank: 15
Flags: needinfo?(mreavy)
Assignee | ||
Comment 8•9 years ago
|
||
You were right in comment 1, Karl, simply doing this fixes it. I'm using this bug and duping the other one against it because this one is tracked by releng. I'll be adding a test tomorrow.
Attachment #8670358 -
Flags: review?(karlt)
Assignee | ||
Comment 9•9 years ago
|
||
This is an easy, not risky patch, that will have tests. We'll hopefully be able to uplift it.
Flags: needinfo?(yanisellami)
Assignee | ||
Comment 10•9 years ago
|
||
Hrm, I forgot to qref.
Attachment #8670676 -
Flags: review?(karlt)
Assignee | ||
Comment 11•9 years ago
|
||
Attachment #8670688 -
Flags: review?(karlt)
Updated•9 years ago
|
Attachment #8670358 -
Flags: review?(karlt)
Updated•9 years ago
|
Attachment #8670358 -
Attachment is obsolete: true
Updated•9 years ago
|
Attachment #8670676 -
Flags: review?(karlt) → review+
Comment 13•9 years ago
|
||
Comment on attachment 8670676 [details] [diff] [review] Properly scale the input buffer before processing it with the curve. r= >+ if (aInput.mVolume != 1.0) { 1.0f
Comment 14•9 years ago
|
||
Comment on attachment 8670688 [details] [diff] [review] Test that waveshaper nodes don't corrupt their input buffer. r= >+++ b/dom/media/webaudio/test/test_mediaElementAudioSourceNodeFidelity.html >+++ b/dom/media/webaudio/test/webaudio.js I guess changes to these files were accidentally included in this patch, but please remove those as they are unrelated. binIndexForFrequency() can be moved if and when required. The new test is fine, but some suggestions to make the test a bit stronger below: >+osc.connect(gain); >+gain.connect(ws); >+gain.connect(sp); Whether this test detects the bug depends on the order of processing, which is not defined, but may happen to depend on the order of connections here. To be sure of detecting this failure, two waveshapers can be connected to the same gain node and their outputs tested. See test_analyserNodeWithGain.html, for example. >+ if (max > 0.49) { >+ ok(true, "Volume was handled properly."); >+ sp.onaudioprocess = null; >+ SimpleTest.finish(); >+ } Something like ok(Math.abs(max - gain.gain.value) < 0.01, "[...]") would tighten up the test a bit. If the frequency of the oscillator were chosen appropriately for script processor buffer size and sample rate, then this could be tested in the first audioprocess event, without needing to wait until sufficiently large max is detected. An offline context is an option so that sample rate is configurable, which may make the frequency choice easier.
Attachment #8670688 -
Flags: review?(karlt) → review+
Comment 15•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/a61652a27e8c https://hg.mozilla.org/integration/mozilla-inbound/rev/240a3f4f4346
https://hg.mozilla.org/mozilla-central/rev/a61652a27e8c https://hg.mozilla.org/mozilla-central/rev/240a3f4f4346
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox44:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
Comment 17•9 years ago
|
||
Paul, could you fill the uplift request to aurora (and beta, if you care enough) :) ? merci
Flags: needinfo?(padenot)
Assignee | ||
Comment 18•9 years ago
|
||
Comment on attachment 8670676 [details] [diff] [review] Properly scale the input buffer before processing it with the curve. r= Approval Request Comment [Feature/regressing bug #]: bug 1118372 [User impact if declined]: Bad behavior of some part of the Web Audio API (audio distortion), break content out there [Describe test coverage new/current, TreeHerder]: Test added, been on inbound/central for some time [Risks and why]: no risk, this is very easy and has a test [String/UUID change made/needed]: none
Flags: needinfo?(padenot)
Attachment #8670676 -
Flags: approval-mozilla-beta?
Attachment #8670676 -
Flags: approval-mozilla-aurora?
Assignee | ||
Comment 19•9 years ago
|
||
Comment on attachment 8670688 [details] [diff] [review] Test that waveshaper nodes don't corrupt their input buffer. r= (See the comment above).
Attachment #8670688 -
Flags: approval-mozilla-beta?
Attachment #8670688 -
Flags: approval-mozilla-aurora?
Comment 20•9 years ago
|
||
Comment on attachment 8670676 [details] [diff] [review] Properly scale the input buffer before processing it with the curve. r= OK, thanks. Should be in 42 beta 6. If there is any potential regressions, I will steal your new bike and use it as ransom until they are fixed! ;)
Attachment #8670676 -
Flags: approval-mozilla-beta?
Attachment #8670676 -
Flags: approval-mozilla-beta+
Attachment #8670676 -
Flags: approval-mozilla-aurora?
Attachment #8670676 -
Flags: approval-mozilla-aurora+
Updated•9 years ago
|
Attachment #8670688 -
Flags: approval-mozilla-beta?
Attachment #8670688 -
Flags: approval-mozilla-beta+
Attachment #8670688 -
Flags: approval-mozilla-aurora?
Attachment #8670688 -
Flags: approval-mozilla-aurora+
Comment 21•9 years ago
|
||
https://hg.mozilla.org/releases/mozilla-beta/rev/b02ead76b603 https://hg.mozilla.org/releases/mozilla-beta/rev/ccb29d307ee6
Comment 22•9 years ago
|
||
the second patch didn't apply cleanly to aurora: grafting 307840:240a3f4f4346 "Bug 1203616 - Test that waveshaper nodes don't corrupt their input buffer. r=karlt" merging dom/media/webaudio/test/mochitest.ini warning: conflicts during merge. merging dom/media/webaudio/test/mochitest.ini incomplete! (edit conflicts, then use 'hg resolve --mark') paul, could you take a look, thanks!
Flags: needinfo?(padenot)
Assignee | ||
Comment 23•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Attachment #8671940 -
Attachment description: Test that waveshaper nodes don't corrupt their input buffer. r= → Test that waveshaper nodes don't corrupt their input buffer. (Aurora rebase)
Flags: needinfo?(padenot)
Comment 25•9 years ago
|
||
https://hg.mozilla.org/releases/mozilla-aurora/rev/d77a1a7bc476 https://hg.mozilla.org/releases/mozilla-aurora/rev/304c71a047eb
Comment 26•9 years ago
|
||
https://hg.mozilla.org/releases/mozilla-aurora/rev/d77a1a7bc476 https://hg.mozilla.org/releases/mozilla-aurora/rev/304c71a047eb
Updated•9 years ago
|
Flags: needinfo?(cbook)
You need to log in
before you can comment on or make changes to this bug.
Description
•