NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/54177: playing audio in firefox doesn't work after kernel update
The following reply was made to PR kern/54177; it has been noted by GNATS.
From: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: kern/54177: playing audio in firefox doesn't work after kernel
update
Date: Tue, 14 May 2019 01:52:11 +0900
Isaki-san is currently AFK, but I have some discussion with
Y.Sugahara-san (a co-author of isaki-audio2 branch).
I'd like to summarize what's going on current audio2 kernel
and pkgsrc firefox.
- the problem is not on individual hardware driver, but
possible inconsistency between MI audio and ossaudio compat layer
- the firefox upstream droped official OSS support long ago
- pkgsrc has own patch file, patch-media_libcubeb_src_cubeb__oss.c:
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__oss.c
http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__oss.c?rev=1.12&content-type=text/plain
- the oss support patch seems derived from FreeBSD ports:
https://github.com/freebsd/freebsd-ports/blob/cd8036681e83301a86135acd26900d1eaf495d29/www/firefox/files/patch-bug1021761
but they has also removed their local patches as "No upstream maintainer":
https://github.com/freebsd/freebsd-ports/commit/098a888c8d8ec393674d12df7494fb81efbe12d8#diff-ee613bc8b4f46e2a591162768020ab92
- firefox's cubeb_oss.c calls the following OSS ioctl's:
SNDCTL_DSP_SETFRAGMENT
SNDCTL_DSP_CHANNELS
SNDCTL_DSP_SPEED
SNDCTL_DSP_GETODELAY
SNDCTL_DSP_CURRENT_OPTR
SNDCTL_DSP_GETOPTR
and probably something wrong in GETODELAY and/or GETOPTR
- MI audio layer has proper infomation for GETODELAY,
but there is no public API to pass it to oss compat layer,
and SNDCTL_DSP_GETOPT seems to return some bogus value
- Sugahara-san says cubeb_oss.c seems to have some buggy code
(cubeb function that calls setfragment() assumes latency in millisecond
but gecko seems to assume a number of frames?)
-> there is a possibility that cubeb_oss.c is implemented for
oss layer with some bugs (or weird compatibility) and
it stops working after isaki-audio2 cleanup
I'm afraid we need to prepare some bug-compatibility code for oss
for unofficial firefox patch..
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index