Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Mar 2024 18:00:16 +0100
From:      Christos Margiolis <christos@freebsd.org>
To:        Mark Johnston <markj@freebsd.org>
Cc:        status-updates@freebsdfoundation.org, freebsd-multimedia@freebsd.org,  jrm@freebsd.org
Subject:   Re: Re: [Development report #7] Audio Stack Improvements
Message-ID:  <yayczejf65tarwha34r7mjtivi6e2afgdj6iunt7zwsnpv2l3y@64xjpobl26fj>
In-Reply-To: <ZfQobZH2b49nN8nN@framework.home>
References:  <cwh2u6nkmwcb2sujgcejwvedv77h6i3hwkgh4j2qtvazwt4om7@fczrhwet2pdd> <ZfQobZH2b49nN8nN@framework.home>

next in thread | previous in thread | raw e-mail | index | archive | help
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):

	[...]
	/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?yayczejf65tarwha34r7mjtivi6e2afgdj6iunt7zwsnpv2l3y>