Date: Sat, 16 Mar 2024 04:48:21 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Mark Johnston <markj@freebsd.org> Cc: Christos Margiolis <christos@freebsd.org>, status-updates@freebsdfoundation.org, freebsd-multimedia@freebsd.org, jrm@freebsd.org Subject: Re: Re: [Development report #7] Audio Stack Improvements Message-ID: <ZfUIdRnEWgg4GT7_@kib.kiev.ua> In-Reply-To: <ZfUGCUBmJwrZoZ4Z@framework.home> References: <cwh2u6nkmwcb2sujgcejwvedv77h6i3hwkgh4j2qtvazwt4om7@fczrhwet2pdd> <ZfQobZH2b49nN8nN@framework.home> <yayczejf65tarwha34r7mjtivi6e2afgdj6iunt7zwsnpv2l3y@64xjpobl26fj> <ZfUGCUBmJwrZoZ4Z@framework.home>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 15, 2024 at 10:38:01PM -0400, Mark Johnston wrote: > On Fri, Mar 15, 2024 at 06:00:16PM +0100, Christos Margiolis wrote: > > Hello Mark, > > > > Mark Johnston wrote: > > > > Behavior changes: > > > > - Only one /dev/dspX device is exposed, as opposed to the current > > > > /dev/dspX.[X]X devices created by the snd_clone mechanism. The > > > > user/application now only needs to access the device through /dev/dspX > > > > or /dev/dsp and sound(4) will take care of all necessary audio > > > > routing. > > > > > > Does this represent a backward compatibility break? That is, will > > > applications need any modification when running on a patched kernel? > > > > Applications are meant to open an audio device through /dev/dsp (if > > hw.snd.basename_clone is enabled), or through /dev/dspX, so the vast > > majority of applications should work with no problems. > > > > Applications that open a device through /dev/dspX.[X]X will break with > > this patch. However, opening a device like this is discouraged anyway, > > according to the sound(4) man page (see FILES section): > > To your knowledge, do any popular applications actually do this? A > comment in the man page isn't very important if applications end up > ignoring it. :) > > If needed, would it be a lot of work to provide backward compatibility? Should be rather trivial, to catch the case in the devfs lookup clone callback and instantiate fake nodes. > > > [...] > > /dev/dsp%d.p%d Playback channel. > > /dev/dsp%d.r%d Record channel. > > /dev/dsp%d.vp%d Virtual playback channel. > > /dev/dsp%d.vr%d Virtual recording channel. > > [...] > > > > The above device nodes are only created on demand through the > > dynamic devfs(5) clone handler. Users are strongly discouraged > > to access them directly. For specific sound card access, please > > instead use /dev/dsp or /dev/dsp%d. > > > > The patch basically does the same thing -- the output of /dev/sndstat > > remains the same -- but without creating these device nodes. > > > > Christos
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ZfUIdRnEWgg4GT7_>