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