NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/54229: audio in firefox stops playing
The following reply was made to PR kern/54229; it has been noted by GNATS.
From: Tetsuya Isaki <isaki%pastel-flower.jp@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: kern-bug-people%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost
Subject: Re: kern/54229: audio in firefox stops playing
Date: Mon, 27 May 2019 22:17:48 +0900
> 1. I play audio in cmus and open youtube tab
> 2. pause cmus while youtube is loading
> 3. firefox will refuse to play any audio until it is killed.
Firefox reopens sound device on the page (video) transition on
youtube. And firefox (media/libcubeb/src/cubeb_oss.c) uses
"/dev/sound" that some parameters (including pause) are sticky.
Therefore, if someone pauses audio, firefox is affected. And it
also happens on previous audio driver.
1. boot any of
* NetBSD 8 or
* -current before merging isaki-audio2 (<8.99.39) or
* -current after merging isaki-audio2 (>=8.99.39).
(I think NetBSD7 is the same but I haven't confirmed)
2. audioctl -d /dev/sound -w play.pause=1
3. execute firefox and play something on youtube.
-> firefox cannot play video.
Unless firefox expects that it stops by external operation, I think
that using /dev/sound in firefox is a bug, although I'm not sure
about pkgsrc/www/firefox history.
--- www/firefox/patches/patch-aa.ORIG 2018-11-12 21:50:52.000000000 +0900
+++ www/firefox/patches/patch-aa 2019-05-27 15:19:05.000000000 +0900
@@ -60,7 +60,7 @@
+
+ dnl Assume NetBSD implementation over SunAudio
+ AC_CHECK_LIB(ossaudio, _oss_ioctl,
-+ [AC_DEFINE_UNQUOTED(CUBEB_OSS_DEFAULT_OUTPUT, "/dev/sound")
++ [AC_DEFINE_UNQUOTED(CUBEB_OSS_DEFAULT_OUTPUT, "/dev/audio")
+ MOZ_OSS_LIBS="$MOZ_OSS_LIBS -lossaudio"])
+fi
+CFLAGS=$_SAVE_CFLAGS
There is another theme to consider.
On NetBSD7 and earlier, /dev/sound maintained the last /dev/audio or
/dev/sound's parameters.
On NetBSD8, /dev/sound maintained the last /dev/sound's parameters.
On >=8.99.39(isaki-audio2), /dev/sound maintains the last /dev/audio
or /dev/sound's parameters (it's the same as NetBSD7).
firefox uses /dev/sound and cmus uses /dev/audio. So this problem
was found easier after merge.
I don't know why NetBSD7 and 8 behave differently.
I personally think /dev/sound's such sticky behavior is the good old
days and is not suitable for modern system...
---
Tetsuya Isaki <isaki%pastel-flower.jp@localhost / isaki%NetBSD.org@localhost>
Home |
Main Index |
Thread Index |
Old Index