Background noise in getUserMedia MediaRecorder audio captures on Firefox Android 122+ on Pixel 4a
Categories
(Core :: Audio/Video: cubeb, defect)
Tracking
()
People
(Reporter: ganoe, Assigned: padenot)
References
Details
Attachments
(4 files)
Steps to reproduce:
We have a web-based audio recording app that we developed and have been using for a few years. We have a number of Google Pixel 4a (Android 13) and Pixel 4a 5G (Android 14) devices we use with it on Firefox for Android. Since version 122 of Firefox for Android, we have noticed a very audible digital-sounding noise in the recording capture background on these Pixel devices. If we downgrade to Firefox 121, the background noise goes away, and we do not get the noise under Chrome either. The app calls navigator.mediaDevices.getUserMedia with the following media constraints:
var userMediaConstraints = {
audio: {
channelCount: 1,
echoCancellation: false,
noiseSuppression: false,
autoGainControl: false,
}
}
And later create a MediaRecorder with mimeType 'audio/ogg’
const options = {
mimeType: 'audio/ogg'
};
mediaRecorder = new MediaRecorder(recordStream,options);
I’ve also tried it with mimeType 'audio/webm;codecs=opus’
The issue is there in at least Android Firefox 122.0b1 and newer on these phones (tested as recent as recent as 125.0a1). It does not occur in 121.0, 121.0.1 nor 121.1 and recent earlier versions. I have also tried this on a Samsung S10, and it does not appear to have the noise issue on Firefox 122+.
If I turn on (true) individually any of echoCancellation, noiseSuppression or autoGainControl it seems to clean up the noise, but I get the impression listening to it that the noise was probably still there and it’s just post-cleaning it up.
Happy to do additional testing or provide additional info if possible.
Actual results:
On Firefox Android the Pixel 4a devices the produced audio has an easily discernible digital-sounding background noise.
Expected results:
The background noise should not be present like it had not been in Firefox 121 and earlier.
Comment 1•2 years ago
|
||
-
Could you verify that this only happens on Firefox Android or it also affects Firefox desktop ?
-
If only happens on Firefox Android , could you help testing if this happens on geckoview_example.
You can get geckoview_example.apk from https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.geckoview-version , for example https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.geckoview-version.122.0.20231215155925.mobile/android-aarch64-opt
-
If this happens on geckoview_example, could you help to find the last good one and the first bad one ?
-
Also , Could you help providing media backend info , you could get it via
about:supportpage (especiallymediasection) .
Updated•2 years ago
|
(In reply to jackyzy823 from comment #1)
- Could you verify that this only happens on Firefox Android or it also affects Firefox desktop ?
I have not been able to reproduce this on desktop. It appears to only be on Android, and possibly only specific Android devices.
If only happens on Firefox Android , could you help testing if this happens on geckoview_example.
You can get geckoview_example.apk from https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.geckoview-version , for example https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.geckoview-version.122.0.20231215155925.mobile/android-aarch64-opt
The noise is there in this version (122.0.20231215155925) on Pixel 4a.
- If this happens on geckoview_example, could you help to find the last good one and the first bad one ?
Using apks from the site you linked, the noise is not there in geckoview_example version 122.0.20231121045833, and the noise is there in version 122.0.20231121163301 (and after).
- Also , Could you help providing media backend info , you could get it via
about:supportpage (especiallymediasection) .
I'm attaching the about:support for Firefox Nightly 125.0a1. Let me know if you need it from a specific version.
Comment 5•2 years ago
|
||
Thanks for your info.
The good/bad one indicate the range is https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=27366586a33a4d0f53cd466bbca28d1edfacf09c&fromchange=b9fe9a49496aa38ca77c335f20236610ef01a582
The most suspicious ones are:
- https://hg.mozilla.org/mozilla-central/rev/55026b57b6b1450262fd6ec3050c8cdd8ae0e9ac Bug 1864010
- https://hg.mozilla.org/mozilla-central/rev/3acdd9e77329eb6c15c2c125b2f498ad20dbb60c Bug 1864141
and these two changes seem related.
kindly ask :padenot for further help.
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 6•2 years ago
|
||
Thanks for the ping jackyzy823, I"ll have a look. I only have a Pixel 4 here (not A), which is supposed to be faster. I think we just need to increase the latency.
Thanks for looking at this. Please let me know if there is anything I can provide.
| Assignee | ||
Comment 8•2 years ago
|
||
Reporter, do you use the default mic/speaker combination when testing this, or wireless or wired headphones / mic? Can you share a WebM file captured in your app? I'll try to repro on my Pixel 4, but I'd like to reproduce your environment.
We used the built-in speaker/mic on the phones, though I've also been listening to the recordings on desktop (we upload the data to our site). I will get you recordings of what it sounds like when I'm in the office tomorrow.
| Reporter | ||
Comment 10•2 years ago
|
||
| Reporter | ||
Comment 11•2 years ago
|
||
I've attached example recordings without and with the noise, which I created within a couple minutes of each other on the same Pixel 4a using geckoview-example versions 122.0.20231121045833 (which does not have the noise) and 122.0.20231121163301 (which has the noise).
Comment 12•2 years ago
|
||
The severity field is not set for this bug.
:boek, could you have a look please?
For more information, please visit BugBot documentation.
Updated•2 years ago
|
Comment 13•2 years ago
|
||
Hey Paul it looks like ganoe found a window in which the regression was caused. Do you know who would be best to take a deeper look?
| Assignee | ||
Comment 14•2 years ago
|
||
Yes, this is on my list of things to look at, but I need to sort other things out first.
Comment 15•2 years ago
|
||
The severity field is not set for this bug.
:kinetik, could you have a look please?
For more information, please visit BugBot documentation.
Updated•2 years ago
|
| Assignee | ||
Comment 16•2 years ago
|
||
We should retry this following recent patches from Andreas.
| Reporter | ||
Comment 17•2 years ago
|
||
Do you want me to try this? What version of the software contains the mentioned patches?
| Assignee | ||
Comment 18•2 years ago
|
||
A version of Firefox Nightly on Google Play: https://play.google.com/store/apps/details?id=org.mozilla.fenix&hl=fr&pli=1 should have the fix. It installs alongside the regular Firefox app fine, and can be uninstalled or kept around as needed. It doesn't touch your "main" Firefox profile and is completely independent.
Comment 19•2 years ago
|
||
Did you get the chance to give it a spin? It's in Firefox 129 which has been in release for three weeks now.
Comment 20•1 year ago
|
||
Redirect a needinfo that is pending on an inactive user to the triage owner.
:kinetik, since the bug doesn't have a severity set, could you please set the severity or close the bug?
For more information, please visit BugBot documentation.
Comment 21•1 year ago
|
||
Marking as fixed based on bug 1905636 landing and no updates from the reporter.
If you're still experiencing this issue with Firefox 129+, please reopen the bug to continue investigation.
Description
•