Add Support for Spatial Audio on MacOS + Airpods headphones
Categories
(Core :: Audio/Video: Playback, defect)
Tracking
()
People
(Reporter: ic2f4cp4, Unassigned)
Details
Attachments
(1 file)
235.16 KB,
image/jpeg
|
Details |
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:126.0) Gecko/20100101 Firefox/126.0
Steps to reproduce:
(1) Use a Mac with macOS Monterey or higher, with Apple Airpods headphones connected
(2) Open some audio content in Firefox browser, for example https://youtu.be/luFGI13Mv8o
(3) You will see that MacOS shows that Spatial Audio is Not Available. When you open the same video in the Safari browser (or in supported third-party apps like Infuse), Mac will allow you to apply a Spatial Audio effect.
Actual results:
Firefox does not support Spatial Audio
Expected results:
Firefox on a Mac will allow Spatial Audio to be played on supported headphones, like the Safari browser
Please also provide additional information:
(A) I understand from this commit that support should be added by switching to Apple's new AVFoundation driver
(B) apple docs: https://developer.apple.com/videos/play/wwdc2021/10265/
I see my user agent looks like this: User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:126.0) Gecko/20100101 Firefox/126.0
Firefox is installed in a MacBook Pro M1 Pro
The commit I talk about at the end of "Please also provide additional information" is this: https://github.com/mpv-player/mpv/commit/1ed8607292ae4f9eafd041d304ad68740ffd3fd7
Comment 3•4 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
It would be an important feature to add in Firefox to avoid necessarily using Safari when listening to videos or music with the AirPods Pro
Updated•4 months ago
|
Comment 6•4 months ago
|
||
The severity field is not set for this bug.
:jimm, could you have a look please?
For more information, please visit BugBot documentation.
Updated•3 months ago
|
Comment 7•3 months ago
|
||
A spatial mixer audio unit may be what's required. See https://developer.apple.com/documentation/audiotoolbox/generating_spatial_audio_from_a_multichannel_audio_stream?language=objc.
Comment 8•3 months ago
|
||
Added this to the 2024 planning doc for assessment / tracking.
Updated•3 months ago
|
Updated•3 months ago
|
Updated•1 month ago
|
Updated•12 days ago
|
Reporter | ||
Comment 11•8 days ago
|
||
How long would it take to implement spatial audio? Some time ago you had shared Apple's documentation.
Comment 12•7 days ago
|
||
We are not working on this but contributions are always welcome.
Reporter | ||
Comment 13•6 days ago
|
||
I'm a developer too. In case I want to contribute, I wouldn't know which repository to commit to, or even how to compile Firefox. Can you give me some tips? Thank you very much
Comment 14•6 days ago
|
||
Firefox is pretty heavy to build, but the process is quite streamlined. Start here: https://firefox-source-docs.mozilla.org/setup/index.html
We use a dedicated library for platform specific audio code: cubeb. The mac backend we use lives in a separate repo: cubeb-coreaudio-rs. As the name implies it is written in rust and talks to CoreAudio.
Easiest way to get going would probably be to make a manual test case for your scenario. You could use the manual test_tone to get started. Set up a 5.1 stream with tones so you can differentiate the channels, and make it play until there's user input, or similar.
If you have questions it might be easiest to reach out in #media on Matrix.
Description
•