<video> should gracefully handle unavailable audio devices

VERIFIED WORKSFORME

Status

()

defect
VERIFIED WORKSFORME
11 years ago
8 years ago

People

(Reporter: Swatinem, Unassigned)

Tracking

Trunk
x86
Linux
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Reporter

Description

11 years ago
This is on Ubuntu 8.04, 64bit. Firefox trunk compiled from source.
When I have Rhythmbox running (which uses gstreamer, which itself uses Pulseaudio I believe), there are a few problems with the <video> tag:

- There is no sound and Firefox prints the following error to the console:
ALSA lib pcm_dmix.c:874:(snd_pcm_dmix_open) unable to open slave

- The video itself runs, but in super high-speed.

Comment 1

11 years ago
How is your pulseaudio and alsa configured? Can you provide the contents of your .asoundrc and/or /etc/asound.conf? Have you tried the instructions for configuring alsa with pulseaudio here:

http://pulseaudio.org/wiki/PerfectSetup#ALSAApplications
Reporter

Comment 2

11 years ago
Oh well, Ubuntu really needs to better integrate PA.
Following the instructions on the PA wiki, installing a lot of packages, I now experience the following:
Firefox plays the videos with normal speed, and it shows up as a stream in pavucontrol, but I don't hear any sound. CPU usage jumps to 100% when I try to play any videos.
Reporter

Comment 3

11 years ago
I changed the bug title a bit.
Firefox should handle unavailable audio devices more smoothly.

- When the device is not available, it should play the video in normal speed instead of "fast-forward"
- It could maybe inform the user that the device is not available via some GUI dialog or via the notification-bar?
Summary: <video> problems when other apps are playing audio → <video> should gracefully handle unavailable audio devices
Component: DOM: Core & HTML → Video/Audio
QA Contact: general → video.audio

Comment 4

11 years ago
I assume that audio output serves as authoritative clock for video timing. A cheap workaround would be to fall back to a "null" audio sink which does nothing but consume audio data at the correct rate (yay, this has potential to become a truly cross-platform audio sink!) in case no proper other sink is available.

Comment 5

11 years ago
I see the same in the 3.1b1 release (ubuntu hardy, 64-bit). My exact error message, repeated multiple times on the console, is: 

ALSA lib ../../../src/pcm/pcm_dmix.c:874:(snd_pcm_dmix_open) unable to open slave

A workaround is to kill the pulseaudio process.

Comment 6

11 years ago
Bug 449159 changes things as part of the refactoring such that when there is no audio the playback will be the correct speed.

There is more work to be done though to do correct syncing using the audio clock, and falling back to a null sink as maikmertern says. There have been some recent libsydneyaudio (the library we use for audio) to work on pulseaudio issues that I need to pull in once I've tested them.

Updated

11 years ago
Depends on: 461135

Comment 7

9 years ago
Videos should play fine now on system's with no audio device. Can anyone confirm if this is still an issue?
This was fixed a long time ago.
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → WORKSFORME
Verified WORKSFORME using Firefox 4.0b10build1.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.