Issue metadata
Sign in to add a comment
|
No audio in some Web Audio apps in latest Canary
Reported by
andrew.macpherson@soundtrap.com,
Oct 1
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3567.0 Safari/537.36 Steps to reproduce the problem: 1. Go to https://soundtrap.com/studio/ and load the Pop template. 2. Press play. 3. There is no sound when the track starts playing. What is the expected behavior? What went wrong? There is no sound when the track starts playing and audio playing in other apps on the system is also dropped. Pausing playback in Soundtrap causes audio in other apps to become audible again after a few seconds. I see the same behaviour consistently here as well (playback not audible and also causes other system audio to drop): http://webaudiodemos.appspot.com/MIDIDrums/index.html And this one causes a loud pop on load and often can only be heard on a single channel (left or right) or not at all: https://webaudiodemos.appspot.com/midi-synth/index.html A bisect of the issue pointed to this range of commits: https://chromium.googlesource.com/chromium/src/+log/404c2004ebc8a5ebca2782078b473a4b28551960..7e8253c958ca8f5105d09468a45155ee8a3053c7 I can look into a more reduced repro case as well if needed, just let me know! Did this work before? Yes 71.0.3559.6 Does this work in other browsers? Yes Chrome version: 71.0.3567.0 Channel: canary OS Version: OS X 10.13.6 Flash Version:
,
Oct 1
But Chrome 70 on OSX sounds fine.
,
Oct 1
That may be a different issue as I'd been running Chrome Canary fine last week and only this morning noticed that I was getting no audio in Soundtrap. So I'm fairly confident that this is confined to a recent version of Chrome 71, though of course I could have made a mistake.
,
Oct 1
I think we SHOULD test any significant CL against this "POP" template. Weirdly enough, Chrome Music Lab plays okay. This really needs further investigation.
,
Oct 1
Maybe so, but I didn't think either of the CLs as "significant". Let me try on my linux box with ToT with those two CLs removed....
,
Oct 1
I wonder if the drum machine gets confused on my linux box which doesn't have any midi devices attached. The midi-synth sounds fine with ToT from this morning. The roughly equivalent https://googlechromelabs.github.io/web-audio-samples/samples/audio/shiny-drum-machine.html sounds fine in beta and ToT on my linux box.
,
Oct 1
I reverted the two CLs locally on my mac. No change in behavior. I still can't hear anything on the midi drum machine or the Pop demo. None of the other CLs seems relevant (except maybe that src-internal roll, but that seems unlikely too).
,
Oct 1
Adding internals>media>audio for any insight they might have.
,
Oct 1
Hmm. This really seems like a Web Audio issue. Locally I've added a log inside if HandlePostRenderTask() to print out a message when the rendered buffer is non-silent. 1. Chrome Music Lab print out the message every render quantum. 2. SoundTrap POP demo did not print out any message. This means the rendered buffer is actually silent. So this is not a bug from the audio infra. I am kind of guessing this is AudioParam-related.
,
Oct 2
I think I found the cause: https://chromium-review.googlesource.com/c/chromium/src/+/1249275 The revert CL was not complete. My gut says the reverb module stays null forever once it is reset. The convolver usually works as a "master reverb" for the whole mix, so you get total silence because of "null" reverb processor.
,
Oct 2
Ignore #10. andrew.macpherson@ 71.0.3568.0 Canary - Some glitches at the beginning, and no audio. 71.0.3569.0 ToT as of 10/2 - Works fine. I think you can try again with Canary > 3568. We are still figuring out why this is happening, but from what I found it is related to the convolver's render method. Weirdly enough, now it can't be reproduced any more on ToT.
,
Oct 2
Something really strange that hongchan@ and I noticed. Build ToT today on OSX. Load the midi drum demo and start it. We hear the expected audio. Start chrome canary and load the same page. Press play. No audio at all now. Pause/stop the midi drum on canary. After a couple of seconds, audio starts again from the ToT build. Contrast this when doing the same thing with beta instead of canary. Both will output audio. This particular problem is probably not a webaudio problem since exactly the same code is being run.
,
Oct 2
Tested the midi drum and midi synth on Windows with ToT. No problems. No problems with canary either. This seems to be Mac-specific.
,
Oct 3
I'm seeing the same behaviour as in #c12 here, in Canary it actually stops audio output from other programs running on the system (Firefox, Spotify, other Chrome versions) when the problem is occurring, which is really strange. Also seeing the same as you with ToT though from last night, I had built ToT yesterday and was able to repro the problem there but as of last night's build it seems to be gone. Also only seeing it on Mac here, Windows Canary seems fine. Just for reference here was a small script I was using to repro the problem, it causes massive glitching or no audio on Canary (71.0.3568.0) but sounds fine on ToT or stable: https://jsfiddle.net/4zL3wbna/11/ I'll check again once Canary > 3568 is out, thanks for looking into it rtoy@ and hongchan@!
,
Oct 3
I did another bisect to identify when the fix appeared and it gave this: https://chromium.googlesource.com/chromium/src/+log/59aed3764077ffd201c04490e81801d6a24ed9f2..ecd2d92d7b10e92cbf575862c9a9d3551062b26b Comparing commits to the first bisect I found these: https://chromium.googlesource.com/chromium/src/+/f369a29a01b3d8e8269afae32157f3e4e7ec7e3f https://chromium.googlesource.com/chromium/src/+/a6519e88c07449783269f87535afea8e55effbdb I did a manual revert of the second one on ToT and rebuilt and sure enough the problem reappears. So it looks like this was the cause and this ticket can be closed, thanks again for the help!
,
Oct 3
Wow! Thanks for the bisect and narrowing down the problem with the fix. +palmer: FYI: memory zeroing also causes strange things to happen with WebAudio.
,
Oct 3
Thanks Andrew! Ray and I were so confused about why/how this can happen. Glad we found the culprit. So this is fixed by the second patch in #15. Correct?
,
Oct 3
Yeah, the optimization patch was a little over-eager. We're dialing it back now (https://chromium-review.googlesource.com/c/chromium/src/+/1256211) and I think/hope it shouldn't cause you any trouble. But if so, ping me.
,
Oct 3
hongchan@: Yes, from my testing this was fixed by the second patch. Thanks again!
,
Oct 3
per #18, #19, I am closing this issue. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by rtoy@chromium.org
, Oct 1