Closed Bug 327411 Opened 18 years ago Closed 18 years ago

FIrefox still stuck at legacy OSS sound architecture. Go JACK instead of ALSA!

Categories

(Firefox :: Shell Integration, defect)

x86
Linux
defect
Not set
normal

Tracking

()

VERIFIED DUPLICATE of bug 255283

People

(Reporter: egberts, Unassigned)

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060117 Firefox/1.0.7
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060117 Firefox/1.0.7

Couple of shortcomings with Firefox audio support.

1.  It supports OSS only
2.  Firefox will only opportunistically hijack the /dev/dsp device.
3.  Doesn't interface well with JACKD used by Audio Professional community
4.  ALSA still isn't the perfect answer due to HIGH latency.


Reproducible: Always

Steps to Reproduce:
1. install jack-audio-connection-kit
2. start jackd daemon
3. start firefox with flash/shockwave plugins
4. Visit websites with sound-enabled flash plugins
5. No sound.

Actual Results:  
No sound.

Expected Results:  
To leverage low-latency sound architecture so that one can burn DVDs and yet hear smooth sounds from websites.

This causes problem for many desktop variants of audio servers (esd, artsd) using variance sound architecture (ALSA, OSS), whose central solution remains elusive, except for, maybe, JACK (JACK Audio Connection Kit) (reference: http://ccrma.stanford.edu/planetccrma/man/man1/jackd.1.html).

The advocate for JACK daemon (jackd) as a the ultimate sound server for Unix platform are this:

1.  Individual volumne control for each application (no other sound servers do this).
2.  Low latency (ability to play MP3 while burning DVDs).
3.  Many plugin filters supported (serves audio professional community well)
4.  Shares ALSA nicely with other non-JACK applications (but not sound servers)

To make this Firefox application, one of the last bastion of legacy OSS holdover, compliant with ALSA;  I propose we skip ALSA API altogether and go straight to JACK API instead.

Once this JACK API is integrated into Firefox, then Flash and RealPlayer (and all sound-based plugins) will fall into its place.
Related Bugs are:

Latency Issues:
Bug 110385
JACK is designed to be portable to any system supporting the relevant POSIX and ANSI C standards. It currently runs under GNU/Linux and Mac OS X on several different processor architectures. 

Documentations including porting applications toward JACK APIs.
http://jackit.sourceforge.net/docs/

FAQ: http://jackit.sourceforge.net/docs/faq.php
Best system architecture overview of JACK.

http://jackit.sourceforge.net/docs/diagram/JACK-Diagram.png
The Flash and Shockwave plugins are written by Macromedia, and it is Macromedia (now Adobe) who you should speak to about moving them away from OSS. They do not pipe their sound through Firefox.

*** This bug has been marked as a duplicate of 255283 ***
Status: UNCONFIRMED → RESOLVED
Closed: 18 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → VERIFIED
Adding a line to the /usr/bin/firefox shell script fixed this problem.

# vi /usr/bin/firefox
FIREFOX_DSP="aoss"

If you are currently using other sound servers, the following may work for you:
FIREFOX_DSP="artsdsp"   # for ARTS
FIREFOX_DSP="esddsp"    # for ESD sound server
FIREFOX_DSP="alsa"      # for ALSA sound server
FIREFOX_DSP="auto"      # to let Firefox determine which one is first

Too bad, we don't have the following option yet:

FIREFOX_DSP="jackd"     # JACK Audio Connection Kit (ultra-low latency sound server)
You need to log in before you can comment on or make changes to this bug.