No audio/sound on nightly
Categories
(Core :: Audio/Video: cubeb, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr102 | --- | unaffected |
firefox-esr115 | --- | unaffected |
firefox117 | --- | unaffected |
firefox118 | blocking | verified |
firefox119 | blocking | verified |
People
(Reporter: quadriflax, Assigned: padenot)
References
(Regression)
Details
(Keywords: regression)
Attachments
(3 files, 2 obsolete files)
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
User Agent: Mozilla/5.0 (Android 11; Mobile; rv:109.0) Gecko/117.0 Firefox/117.0
Steps to reproduce:
Sound has stopped working on my Samsung Tab A running Android 10. YouTube, etc. load and play fine, just without audio. Audio works on literally everything else, including Beta and stable releases. Worked as of at least two nightly releases ago, I believe.
118.0a1 (Build #2015967809), e1c9818038+
GV: 118.0a1-20230811213712
AS: 118.20230811050249
Actual results:
No sound plays when loading any videos, etc, from browser.
Expected results:
Sound should play.
Reporter | ||
Comment 1•2 years ago
|
||
(In reply to Quadriflax from comment #0)
User Agent: Mozilla/5.0 (Android 11; Mobile; rv:109.0) Gecko/117.0 Firefox/117.0
Steps to reproduce:
Sound has stopped working on my Samsung Tab A running Android 10. YouTube, etc. load and play fine, just without audio. Audio works on literally everything else, including Beta and stable releases. Worked as of at least two nightly releases ago, I believe.
118.0a1 (Build #2015967809), e1c9818038+
GV: 118.0a1-20230811213712
AS: 118.20230811050249Actual results:
No sound plays when loading any videos, etc, from browser.
Expected results:
Sound should play.
Sorry, this is on Android 11, not 10.
Reporter | ||
Comment 2•2 years ago
|
||
I did somemore testing on this. A reboot and uninstall/fresh reinstall did not fix. I went back through APK Mirror and updated one nightly at a time until it stopped working. The last working version is:
118.0a1 (Build #2015967137), 7cce8ace88+
GV: 118.0a1-20230807215239
AS: 118.20230806050240
The next version below, sound stops working entirely:
118.0a1 (Build #2015967249), 540f25a41a+
GV: 118.0a1-20230809092330
AS: 118.20230809050307
This appears to only affect armeabi-v7a devices from what I can tell. Both my Samsung and an old LG G Pad X have the exact same issue where sound works on build #2015967137, but stops working on build #2015967249.
Is there anything else I can provide to try and sort this?
Comment 3•2 years ago
|
||
Depends on your info: Bug may happen between https://hg.mozilla.org/mozilla-central/shortlog/d59d0a5038b29cdbcbb2d4b003d642a2617e297f and https://hg.mozilla.org/mozilla-central/shortlog/1f46af18938c502599b89d62cb0c1d9a221b3126
There're several commits about audio.
Some questions which may do help to developers:
- Does this happens on all sites or youtube only?
- Does this happens on specific youtube video (if so, link would be helpful) or all youtube video?
Is there anything else I can provide to try and sort this?
You could try getting log from device viaadb logcat
( WithEnable Gecko Logs
would be better ) and upload it here.
How to Enable Gecko Logs
:
- In browser, Goto "Settings" -> "About Firefox" -> Click on Firefox Icon several times.
- Then go back to Settings , Switch on
Enable Gecko Logs
inAdvanced
Section
Reporter | ||
Comment 4•2 years ago
|
||
(In reply to jackyzy823 from comment #3)
Depends on your info: Bug may happen between https://hg.mozilla.org/mozilla-central/shortlog/d59d0a5038b29cdbcbb2d4b003d642a2617e297f and https://hg.mozilla.org/mozilla-central/shortlog/1f46af18938c502599b89d62cb0c1d9a221b3126
There're several commits about audio.
Some questions which may do help to developers:
- Does this happens on all sites or youtube only?
All sites. Everything I've tested so far has no sound since aforementioned build above.
- Does this happens on specific youtube video (if so, link would be helpful) or all youtube video?
All YouTube videos. I've tried DailyMotion, BBC, TikTok, Reddit, etc. There's just no sound.
Is there anything else I can provide to try and sort this?
You could try getting log from device viaadb logcat
( WithEnable Gecko Logs
would be better ) and upload it here.How to
Enable Gecko Logs
:
- In browser, Goto "Settings" -> "About Firefox" -> Click on Firefox Icon several times.
- Then go back to Settings , Switch on
Enable Gecko Logs
inAdvanced
Section
My apologies, but how do I pull the logs? You mention "adb logcat", but I'm not sure what that is or how to use it. Is there a quick guide I can follow somewhere? I've done the steps above and enabled the Gecko logs, tested a few sites (all still fail to play sound), but not sure how I can pull what might be useful. Happy to do so, I'm just not very familiar with adb or debugging things on Android, unfortunately.
Curious to know if anyone else can replicate on an armeabi-v7a device. My arm64-v8a devices seem to be fine.
Comment 5•2 years ago
|
||
but how do I pull the logs? You mention "adb logcat", but I'm not sure what that is or how to use it. Is there a quick guide I can follow somewhere? I've done the steps above and enabled the Gecko logs, tested a few sites (all still fail to play sound), but not sure how I can pull what might be useful. Happy to do so, I'm just not very familiar with adb or debugging things on Android, unfortunately.
Here's the instruction https://bugzilla.mozilla.org/show_bug.cgi?id=1816330#c9
Comment 6•2 years ago
|
||
Curious to know if anyone else can replicate on an armeabi-v7a device. My arm64-v8a devices seem to be fine.
Thanks for the key information.
I've tested on a arm64-v8a device and install Fenix of armeabi-v7a variant ( from https://ftp.mozilla.org/pub/fenix/nightly/2023/08/2023-08-14-04-01-12-fenix-118.0a1-android-armeabi-v7a/) and the audio also does not play .
The most suspicious ticket is https://bugzilla.mozilla.org/show_bug.cgi?id=1833654 and https://phabricator.services.mozilla.com/D181520
Reporter | ||
Comment 7•2 years ago
|
||
(In reply to jackyzy823 from comment #5)
Here's the instruction https://bugzilla.mozilla.org/show_bug.cgi?id=1816330#c9
Thanks. I was able to get a file with a log dump, but looks like this is a log of everything the tablet is doing. What is the best way to illustrate the specific Firefox audio issue so I'm not just giving everything (I'm not entirely sure what all of this means, so hesitant to share anything non-essential to the public)?
(In reply to jackyzy823 from comment #6)
Thanks for the key information.
I've tested on a arm64-v8a device and install Fenix of armeabi-v7a variant ( from https://ftp.mozilla.org/pub/fenix/nightly/2023/08/2023-08-14-04-01-12-fenix-118.0a1-android-armeabi-v7a/) and the audio also does not play .
The most suspicious ticket is https://bugzilla.mozilla.org/show_bug.cgi?id=1833654 and https://phabricator.services.mozilla.com/D181520
Given that you were able to replicate, do you even need logs from me, or are you able to pull some and analyze your own? I'm happy to help, I'm just a bit slow with this stuff.
Comment 8•2 years ago
|
||
My log here
The most suspicious part:
08-14 20:49:05.917 25453 25826 I Gecko : [Child 25453, MediaDecoderStateMachine #1] WARNING: bc82a5f0 OpenCubeb() failed to init cubeb: file /builds/worker/checkouts/gecko/dom/media/AudioStream.cpp:281
08-14 20:49:05.917 25453 25826 I Gecko : [Child 25453, MediaDecoderStateMachine #1] WARNING: Decoder=cbf26f20 [OnMediaSinkAudioError]: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp:4649
Reporter | ||
Comment 9•2 years ago
|
||
(In reply to jackyzy823 from comment #8)
My log here
The most suspicious part:
08-14 20:49:05.917 25453 25826 I Gecko : [Child 25453, MediaDecoderStateMachine #1] WARNING: bc82a5f0 OpenCubeb() failed to init cubeb: file /builds/worker/checkouts/gecko/dom/media/AudioStream.cpp:281 08-14 20:49:05.917 25453 25826 I Gecko : [Child 25453, MediaDecoderStateMachine #1] WARNING: Decoder=cbf26f20 [OnMediaSinkAudioError]: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp:4649
I'm definitely seeing the same:
08-14 10:25:04.068 21685 21852 I Gecko : [Child 21685, MediaDecoderStateMachine #1] WARNING: 9cefe9e0 OpenCubeb() failed to init cubeb: file /builds/worker/checkouts/gecko/dom/media/AudioStream.cpp:281
08-14 10:25:04.068 21685 21852 I Gecko : [Child 21685, MediaDecoderStateMachine #1] WARNING: Decoder=a0e52e40 [OnMediaSinkAudioError]: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp:4649
Assignee | ||
Updated•2 years ago
|
Comment 10•2 years ago
|
||
Quadriflax , Could you help gathering some information on your Samsung Tab A or LG G Pad X ( use the one which has a higher android version)
Open browser and input about:support
in url and goto , Find Media
Section (could using Find in Page) , Take a screenshot or copy all text in this section especially 1. audio backend 2. default audio output device's format.
Thanks.
Reporter | ||
Comment 11•2 years ago
|
||
Audio Backend opensl
Max Channels 2
Preferred Sample Rate 48000
Roundtrip latency (standard deviation) ...Output Devices
Name Group Vendor State Preferred Format Channels Rate Latency
Default audio output device Enabled All default: S16LE, support: S16LE S16BE F32LE F32BE 2 default: 44100, support: 44100 - >44100 128 - 441Input Devices
Name Group Vendor State Preferred Format Channels Rate Latency
Default audio input device Enabled All default: S16LE, support: S16LE S16BE F32LE F32BE 1 default: 44100, support: 44100 - 44100 >128 - 441
Media Capabilities
The above is from my Samsung Tab A on Android 11. Let me know if you need anything else.
Comment 12•2 years ago
•
|
||
Some additional log:
Gecko : [Child 14829: MediaDecoderStateMachine #1]: E/cubeb cubeb.c:386:Invalid format, 0x809d2fcc 0x0 1 0
Cubeb_OpenSL: Playback params: Rate 48000, channels 2, format 2, latency in frames 4800.
After some digging, I found the key reason is opensl is incompatible with f32 when minsdk <= LOLLPOP.
From this commit (bingo, i guessed right) , Audio output format is AUDIO_OUTPUT_FORMAT = AUDIO_FORMAT_FLOAT32 , will be converted to CUBEB_SAMPLE_FLOAT32NE
(format 2 in the second line of the log) for cubeb.
params.format = CubebUtils::ToCubebFormat<AUDIO_OUTPUT_FORMAT>::value;
template <AudioSampleFormat N>
struct ToCubebFormat {
static const cubeb_sample_format value = CUBEB_SAMPLE_FLOAT32NE;
};
then the keypoint https://searchfox.org/mozilla-central/source/media/libcubeb/src/cubeb_opensl.c#1108-1130
if __ANDROID_API__
< ANDROID_VERSION_LOLLIPOP , opensl_set_format_ext
is not defined and will not be called, so format
is NULL , then opensl_set_format
will be called. In opensl_set_format
, only CUBEB_SAMPLE_S16LE
and CUBEB_SAMPLE_S16BE
will be handled, other format will cause CUBEB_ERROR_INVALID_FORMAT. then Audio failed to initialize.
When targetting armeabi , the __ANDROID_API__
is 16 (because of --target=arm-linux-androideabi16) < ANDROID_VERSION_LOLLIPOP (21) , so failure occurs.
When targetting arm64 , the __ANDROID_API__
is 21 (because of --target=aarch64-linux-android21) == ANDROID_VERSION_LOLLIPOP (21) , so format is assigned by opensl_set_format_ext
.
Although i don't know 1) why opensl
is still used in Android 11. 2) why ndk targetting to API 16 when building armeabi.
Got anwser for question 2 from geckoview matrix channel. https://searchfox.org/mozilla-central/rev/ce049e593c7d062a039938cabccaab4c14b8ebfd/build/moz.configure/android-ndk.configure#36-41
Assignee | ||
Comment 13•2 years ago
|
||
All, thanks for all the help diagnosing this, and sorry for the breakage.
Just a note that I have a patch series that fixes this, and I have sound again on Firefox compiled against older SDKs. This should land in the coming days. I need to unbreak audio input as well. It took some time because I was off work at the beginning of the week.
What's quite problematic is that our CI was completely green and didn't report any issue. It's something I'm thinking of addressing as well.
Reporter | ||
Comment 14•2 years ago
|
||
I don't suppose there is an ETA on the fix dropping in the nightly release? Still no sound for the past week+.
Assignee | ||
Comment 15•2 years ago
|
||
Assignee | ||
Comment 16•2 years ago
|
||
Depends on D186860
Assignee | ||
Comment 17•2 years ago
|
||
Hopefully tomorrow or the day after.
Comment 18•1 years ago
|
||
:padenot could you confirm/add the regressor on this? Wondering if it only impacts 118+, or is 117 affected
Comment 19•1 years ago
|
||
Hello. It says here that it simply needs a tag before it will be applied. Same status for the other one. So who do we contact or how do we make this happen? Thanks.
Comment 20•1 years ago
|
||
Comment 21•1 years ago
|
||
Backed out for causing Android build bustages.
Reporter | ||
Comment 22•1 years ago
|
||
Latest beta is now also broken with no sound:
118.0b2 (Build #2015971121), 22c354a4d2+
GV: 118.0-20230829180158
AS: 118.0
Updated•1 years ago
|
Comment 23•1 years ago
|
||
It seems the error is that cube_opensl.c
is forgotten to be renamed to cubeb_opensl.cpp
in moz.build
file .
Updated•1 years ago
|
Updated•1 years ago
|
Comment 24•1 years ago
|
||
Set release status flags based on info from the regressing bug 1833654
Comment 26•1 years ago
|
||
Matthew, I think Paul is on PTO, could you own this bug in the meantime or help us find an owner? Thanks!
Comment 27•1 years ago
|
||
same problem .
adding info.
Andrroid 9 Tablet
Mediatek MT8168 chip
Mali-G52 MC1
Comment 28•1 years ago
|
||
Comment 29•1 years ago
|
||
Depends on D187410
Comment 30•1 years ago
|
||
Depends on D187411
Updated•1 years ago
|
Comment 32•1 years ago
|
||
I have the same problem in Firefox Beta for Android since v118.0b2 and also in Nightly. No problem in the stable version. I don't have any extensions installed.
OS: Android 8 (Oreo)
Comment 33•1 years ago
|
||
Karl, this is marked as a release blocker and we are mid beta cycle, can you please assist us moving it forward with this bug? Thanks
Updated•1 years ago
|
Updated•1 years ago
|
Comment 34•1 years ago
|
||
just a follow-up. problem persists in v118.0b6.
Comment 36•1 years ago
|
||
No, there are already r+ patches, we just need to land them.
Comment 37•1 years ago
|
||
Comment 38•1 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/e2341e420b86
https://hg.mozilla.org/mozilla-central/rev/14ea6d3e3958
https://hg.mozilla.org/mozilla-central/rev/181edc7c67df
Updated•1 years ago
|
Updated•1 years ago
|
Updated•1 years ago
|
Assignee | ||
Updated•1 years ago
|
Assignee | ||
Updated•1 years ago
|
Assignee | ||
Comment 41•1 years ago
|
||
Comment on attachment 9351500 [details]
Bug 1848518 - Update libcubeb to revision 3f86a. r?#cubeb-reviewers
Beta/Release Uplift Approval Request
- User impact if declined: No audio (input/output) on older android version or ARMv7 devices.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: Yes
- If yes, steps to reproduce: Attempt to play audio on an ARMv7 device, and to make a webrtc call.
- List of other uplifts needed: None
- Risk to taking this patch: Medium
- Why is the change risky/not risky? (and alternatives if risky): This has been tested manually by myself and community members.
- String changes made/needed:
- Is Android affected?: Yes
Assignee | ||
Updated•1 years ago
|
Updated•1 years ago
|
Updated•1 years ago
|
Comment 42•1 years ago
•
|
||
Managed to reproduce the issue on 118.0b5 and on Nightly 119.0a1 (from 2023-09-06) with a Redmi 9C NFC (Android 10).
Not reproducible on RC 117.0.1 with the same device.
Also reproduced on Beta 118 with a Sony Xperia (Android 6.0.1).
Verified as fixed on the latest Nightly build (119.0a1 from 2023-09-12) with both devices.
Marking the ticket as verified on 119.
Updated•1 years ago
|
Comment 43•1 years ago
|
||
Comment on attachment 9351500 [details]
Bug 1848518 - Update libcubeb to revision 3f86a. r?#cubeb-reviewers
Approved for 118.0b8, thanks.
Updated•1 years ago
|
Updated•1 years ago
|
Comment 44•1 years ago
|
||
uplift |
Comment 45•1 years ago
|
||
bugherder uplift |
Comment 46•1 years ago
|
||
Verified as fixed on the latest Beta build (118.0b8).
Devices used:
- Redmi 9C NFC (Android 10).
- Sony Xperia (Android 6.0.1).
Marking the ticket as verified for 118 as well.
Updated•1 years ago
|
Description
•