Re: git: 2ffaca551eaf - main - snd_hda: Implement automatic redirection between associations
- Reply: Christos Margiolis: "Re: git: 2ffaca551eaf - main - snd_hda: Implement automatic redirection between associations"
- Reply: Christos Margiolis: "Re: git: 2ffaca551eaf - main - snd_hda: Implement automatic redirection between associations"
- In reply to: Guido Falsi : "Re: git: 2ffaca551eaf - main - snd_hda: Implement automatic redirection between associations"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 Sep 2025 20:10:55 UTC
On 9/30/25 21:22, Guido Falsi wrote:
> On 9/30/25 12:52, Christos Margiolis wrote:
>> The branch main has been updated by christos:
>>
>> URL: https://cgit.FreeBSD.org/src/commit/?
>> id=2ffaca551eaf32c17f701762ecf29a961cf19aa4
>>
>> commit 2ffaca551eaf32c17f701762ecf29a961cf19aa4
>> Author: Christos Margiolis <christos@FreeBSD.org>
>> AuthorDate: 2025-09-30 10:52:44 +0000
>> Commit: Christos Margiolis <christos@FreeBSD.org>
>> CommitDate: 2025-09-30 10:52:44 +0000
>>
>> snd_hda: Implement automatic redirection between associations
>> For audio to be redirected to the headphones/headset after
>> plugging the
>> jack, or back to the speaker/internal mic when unplugging it, the
>> speaker and headphone pins need to be part of the same association
>> (i.e., the same PCM device). This patch makes it possible to
>> redirect
>> audio even between different associations, which can reduce the
>> need for
>> manual pin patching.
>> The idea is that we issue a devctl_notify() from within the jack
>> detection callback whenever a jack is (un-)plugged to redirect
>> audio to
>> the appropriate device. Then the snd.conf devd script is
>> responsible for
>> using virtual_oss to change the playback/recording device to
>> whatever
>> snd_hda(4) selected. The reason for requiring virtual_oss is that
>> it has
>> hot-swapping support, which is necessary for jack redirection.
>> Sponsored by: The FreeBSD Foundation
>> MFC after: 2 days
>> Differential Revision: https://reviews.freebsd.org/D50070
>> ---
>> sbin/devd/Makefile | 5 +++++
>> sbin/devd/devd.conf.5 | 16 +++++++++++++
>> sbin/devd/snd.conf | 23 +++++++++++++++++++
>> sys/dev/sound/pci/hda/hdaa.c | 53 ++++++++++++++++++++++++++++++++
>> +-----------
>> 4 files changed, 84 insertions(+), 13 deletions(-)
>>
>> diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile
>> index 5d5721d16884..f65eee93dd4b 100644
>> --- a/sbin/devd/Makefile
>> +++ b/sbin/devd/Makefile
>> @@ -51,6 +51,11 @@ NVMEDIR= ${DEVDDIR}
>> NVME+= nvmf.conf
>> NVMEPACKAGE= nvme-tools
>> +CONFGROUPS+= SND
>> +SNDDIR= ${DEVDDIR}
>> +SND+= snd.conf
>> +SNDPACKAGE= snd
>
> Looks like this is causing the package building step of the build to
> look for a src/release/packages/ucl/snd-all.ucl file.
>
> Is it intentional to cause this to produce a new base package?
>
> Looks like in this case an ucl file for the description is needed?
>
After working around this one locally, I get a similar issue with
virtual_oss missing its ucl file too.
Just reporting this right away so it is known.
--
Guido Falsi <mad@madpilot.net>