Same reasons as mentioned here:
Please remove pulseaudio as DEFAULT option for firefox package. Even ALSA is more then enought, firefox should 'talk' directrly to OSS at FreeBSD, but as Mozilla in their 'wisdom' removed OSS  support from firefox, then ALSA is the less 'bad' option then pulseshit.
PulseAudio defaults partially come from upstream. It also better integrates with common desktop environments (GNOME, KDE, etc.). To not blow up the dependencies for package-only users by default pulseaudio is only required during build. If you don't like this just uncheck the option when building locally or add OPTIONS_UNSET += PULSEAUDIO to /etc/make.conf.
ALSA on FreeBSD state: OSS plugin is unmaintained upstream, lacks devices enumeration, no MIDI, many -utils are broken, high CPU usage in Firefox with BUFSZ_P2 hack disabled. What else can you expect from non-native audio system? PulseAudio isn't as bad but has issues of its own e.g., bug 211684.
OSS in libcubeb exists as files/patch-bug1021761. It's always enabled but cannot be exclusive due to lack of WebRTC backend. Building WebRTC without audio backend is currently broken. Before libcubeb came to be there was libsydneyaudio which had OSS support but suffered from very poor latency and sometimes crashed.
In short, what are you trying to solve by disabling PULSEAUDIO option by default?
As FreeBSD base system 'tries' to keep away from GPL FreeBSD users try to keep as far as possible from #Linuxisms and #Poetterings. One of them is systemd, the other is pulseaudio.
As You say that ALSA and OSS are now broken/unmaintained we are probably doomed with pulseaudio. Pity.
pulseaudio doesn't work for me...
I understand that that's a different issue, but just want to point out that pulseaudio is "plug-and-play" like e.g. OSS is (it just works on FreeBSD).
pulseaudio: [(null)] oss-util.c: '/dev/dsp0' doesn't support full duplex
pulseaudio: [(null)] oss-util.c: '/dev/dsp3' doesn't support full duplex
pulseaudio: [(null)] oss-util.c: '/dev/dsp4' doesn't support full duplex
pulseaudio: [(null)] authkey.c: Failed to open cookie file '/home/avg/.config/pulse/cookie': No such file or directory
pulseaudio: [(null)] authkey.c: Failed to load authentication key '/home/avg/.config/pulse/cookie': No such file or directory
pulseaudio: [(null)] ltdl-bind-now.c: Failed to open module module-cork-music-on-phone.so: Shared object "module-cork-music-on-phone.so" not found, required by "pulseaudio"
pulseaudio: [(null)] module.c: Failed to open module "module-cork-music-on-phone".
pulseaudio: [(null)] main.c: Module load failed.
pulseaudio: [(null)] main.c: Failed to initialize daemon.
pulseaudio: [(null)] main.c: Daemon startup failed.
Some input from from FreeBSD Forums:
And sideeffects is here, as I suspected - after I installed pulseaudio (and updated recently to the version 10) - as dependency by Chrome, sound is crippled/choppy completely from chromium, from firefox too, because firefox starts using pulseaudio dynamicaly (maybe pulse is interfering with OSS in some way). When I need to switch sound output, I need to switch it in OSS (for some apps) and also in pulse (for other apps). I also need to read extra long wiki pages (+ Arch linux wiki pages) about PulseProblem 10.0, google like a maniac and hope, that my sound will be OK and properly configured somewhere in the future.
Or, of course, I can recompile chrome port every 14 days with bare OSS/ALSA support only. Or recompile everything other once a month with PulseProblem. Or throw away PulseProblem + Chrome from my drive. It's good, so many options.
I knew it!
Firefox 54 is going to support multi-channel audio but only with PulseAuido.
(In reply to Jan Beich (mail not working) from comment #5)
Great ... more Poettering shit compiled in by default ...
Maybe start contributing upstream. No one is paid to support Firefox on FreeBSD. In fact, the build is busted at least twice per week as there's no CI in place (Solaris RIP). Many features available on Tier1 platforms are simply not implemented: Sandbox, GeckoProfiler, CrashReporter, network link state detection, GamePad API, EME, PPAPI. OSS audio is one of those. I've tried to help but no luck - the contributor ran away. The patch is now a source of rebase churn and maybe dropped in future.
Or make PulseAudio suck less on FreeBSD, or implement missing features in sndio, or triage user stories into actionable bugs. Words are cheap, of course.
(In reply to Jan Beich (mail not working) from comment #7)
My comment was not against/about You or anyone in FreeBSD community.
It was about ignorance and blindness in Linux/Mozilla community.
FWIW, I've dropped OSS from www/firefox in ports r485458.