From nobody Tue Mar 11 14:19:33 2025 X-Original-To: freebsd-multimedia@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZBwr83ncWz5qcbB for ; Tue, 11 Mar 2025 14:19:36 +0000 (UTC) (envelope-from christos@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBwr83HmWz44GQ; Tue, 11 Mar 2025 14:19:36 +0000 (UTC) (envelope-from christos@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741702776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=yW0hgn3qwvu749UrCykpnjIm5wvaf01Zmn67qJmRf+g=; b=hTWOXuDuxGsfX+kfrFG18PnsMHGHCeDMizKqfgF5FwnWa3QCu+1MTOxqyoOSi8Zk8n3nSi CGl1aZLfegP/K8qF17wuDzSpAz+9AMDHMrQepcmSenKrzJ2h8/mldPNP1NYdUTNSa6od+e 4RYQs+SzDmTiV6nfxq0Rd8nakcwAyDkZ3zXk8BJhbOMR0/OWCrtncw8Z99YYChOT6F9OyW Pv6x4uP7XdfOvjXF2jVYrLXem0HjfK1V3ikdOaxpCD3j/i98tz/n+lWLda/fqkVQylT4PI 6gu299SMzHS2qdTN2dVyGfc08ROp48aqc59IcA31TECaguSeG6XZFNTphHmjrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741702776; a=rsa-sha256; cv=none; b=gJlsdHAn4NXoJp19vDXx58ShHmKFwUlw4xERGg+9MZo6Z2nakiBe7WpQZxIjyk2ZiwUXou yl8WFZajyaehLWg7erRdlKXqnlQLpphUT3TyPn9YLmvCwg9AsoR/WpZbkBfucEmfxLUfvC DdRXh97vuZ8t+LJ3tkuUTbh4y5X68AAD5gBgbVBAUJPbSmz3axlbpescp3JseYRyVDHKan EwKcu5CFN1dxtvVwASLDwcx1gCpv/XE0H1pFJhHaFJEx7ZUvV/DqXCjTiZykFoBOT9xO1H /CJvadtF7dohCk+z6fM2HzYpDFi8Hxty//TQtljSU2gi6vYXqlkQOjzTPIHwSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741702776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: dkim-signature; bh=yW0hgn3qwvu749UrCykpnjIm5wvaf01Zmn67qJmRf+g=; b=KihfkhLVLC/niuNWNYvVrqoImvkj2P8rbHHAMH9CJtZNg3n08j3ekR+T4ENYyHrWP+cOwv LvZMkYrl72WdXl01STIpOsF7F2P4IT8OIWyN3vWALjNOeKgwtR/o4FxYSwQu8y5bYCvuDu 1b0XvfgU0cjcH7bJTbt8CiBaGftno9/Cc0evszIW4gcFI7Ywek4U7TfmhsTAXP5ctk42h0 r989p7EZja1P6lbIPWQvAQhnoA6tkLvUDKePq30f0BuMb3Ix90TlPmJtKM67TeYIxVhETs qK1STcsclbbL5oZrxNYwZ0zhbXz88TTlPnwF+cDwEvOejjU430v21BLQ4B8/sQ== Received: from margiolis.net (mail.margiolis.net [95.179.159.8]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA512) (Client did not present a certificate) (Authenticated sender: christos/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZBwr75RHFzPn1; Tue, 11 Mar 2025 14:19:35 +0000 (UTC) (envelope-from christos@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=mail; bh=jH0fBmchzV5WAEJ LmT1/nPDbVf+jblPk4m1HfpREJls=; h=subject:cc:to:from:date; d=margiolis.net; b=fek6lgEtytHIwOpMP62ZmcSca7DCaxsEifoKXpcAv/Hh/9XLxj7 91dIu/KT25d2LM/lWkSVK8/zUPWePpjn7bkF8ZU+LqCTQMjOsj7vSA3d4E/8KRwQynud7k HKsZMyC8D9W47Oqoy/cTNObF2KJXOxwhBqCgmQX7xB5KeBA+eI= Received: from pleb (public-gprs241280.centertel.pl [31.60.89.193]) by margiolis.net (OpenSMTPD) with ESMTPSA id 1f7716d3 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 11 Mar 2025 14:19:34 +0000 (UTC) Date: Tue, 11 Mar 2025 15:19:33 +0100 From: Christos Margiolis To: status-updates@freebsdfoundation.org Cc: freebsd-multimedia@freebsd.org, markj@freebsd.org, jrm@freebsd.org, emaste@freebsd.org Subject: [Development report #31] Audio Stack Improvements Message-ID: List-Id: Multimedia discussions List-Archive: https://lists.freebsd.org/archives/freebsd-multimedia List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-multimedia@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline MFC'd some recently committed patches to stable/14. sound: Refactor the format conversion framework: https://cgit.freebsd.org/src/commit/?id=433e270f341cf660b2fe125c2e0f733073829188 sound: Turn clamp macros into a function: https://cgit.freebsd.org/src/commit/?id=4918fc2e238b581aaf1f63e20003d5fa957f0b09 sound: Remove macro magic from pcm/feeder_eq.c: https://cgit.freebsd.org/src/commit/?id=e18d66d9c515abc729f5c4740b9b999d28abc333 sound: Remove macro magic from pcm/feeder_matrix.c: https://cgit.freebsd.org/src/commit/?id=ac24c9da8bb7af731646dd7924841a28e2ad7ad7 sound: Remove feed_matrix_apply_generic(): https://cgit.freebsd.org/src/commit/?id=b73b5f70e9f6be951e66531f6f57249eea4ba4dc sound: Simplify pcm/feeder_mixer.c: https://cgit.freebsd.org/src/commit/?id=4021fa32d92d656d3d43186cc231695c7ad53d33 sound: Take dsp_cdevsw out of header file: https://cgit.freebsd.org/src/commit/?id=2fda8597116e760c32f07af43d260041f975b650 sound: Retire SD_F_AUTOVCHAN: https://cgit.freebsd.org/src/commit/?id=b768f2c7773b6e306fb43687657414f9f42a27d4 sound: Make dev.pcm.X.mode dynamic: https://cgit.freebsd.org/src/commit/?id=ab95710f30f7255d3a6be22a1a2c375ee0f96868 sound: Update COPYRIGHT notices: https://cgit.freebsd.org/src/commit/?id=c824383b269d8abe175ea4751194660716d5600e sound: Make feed_mixer_apply() __always_inline: https://cgit.freebsd.org/src/commit/?id=717adecbbb5293d8386caa866c21421ef9eeb22c sound: Implement AFMT_FLOAT support: https://reviews.freebsd.org/D47638 Received useful feedback about a rounding error improvement, although roundf() cannot be used in the kernel. Laptop project sound: Implement /dev/dsp as a router device: https://reviews.freebsd.org/D49216 - Addressed ziaee@'s man page comment. - Restored hw.snd.basename_clone and dsp_clone(), but instead of cloning /dev/dsp${hw.snd.default_unit}, we are cloning vdsp_cdev, which is defined as /dev/vdsp. This way we preserve backwards compatibility with virtual_oss, since it can override /dev/dsp with its own. Update man page accordingly. - Check whether the channels are not NULL, as opposed to checking priv->flags and assuming the channels will be non-NULL. - Check for !DSP_REGISTERED() after acquiring the new cdevpriv in vdsp_getdev(), as well as in vdsp_open(). Working on a follow-up patch to D49216 to split the default unit into playback and recording units. Port SOF (Sound Open Firmware) to FreeBSD I spent a good amount of time studying the (limited) documentation, as well as the Linux sources, and also had an email exchange with Liam Girdwood from Intel (one of the main authors of SOF) to clear up some questions I had, but eventually I realized that this project is not a very wise allocation of resources, considering its complexity and the tech debt it'll introduce, for seemingly little benefit. I discussed this in-depth with emaste@ in a private exchange and detailed all the reasons why I think this project is not worth pursuing, at least for now, and we are thinking about dropping it. Reviewed: https://reviews.freebsd.org/D49002 PR 253900: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253900 Attended Foundation's monthly iteration call. Sent an email to multimedia@ regarding a potential removal of the -T option from virtual_oss I'm considering: https://lists.freebsd.org/archives/freebsd-multimedia/2025-March/002887.html Attended srcmgr bug busting call. This work is sponsored by the FreeBSD Foundation. Christos