From nobody Wed Jul 10 17:43:50 2024 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 4WK4wV5kKLz5QsK1 for ; Wed, 10 Jul 2024 17:43:54 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WK4wV5GX6z4qwl; Wed, 10 Jul 2024 17:43:54 +0000 (UTC) (envelope-from christos@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1720633434; 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: content-transfer-encoding:content-transfer-encoding; bh=IVKhpMziAM6cMe0K2skjd4jdY+qW39VxObv528n0KJ0=; b=XA4soh5f2iyquTNxfRkNL1keLh29p1PIz038jxxPEsAHhEmWOEXSKrFKrsOdT4TcY3Tljb e+3HS2klPgvE8IDSrYQG1xY87k7/hLz0NIsVq9cOWoZavHct6aU9hVS3r9TiQUjcbMI2SE vY7ud/2CZwN0+9XlnDmivI9BqTsIiEb/Rea4UAa7NVBLe71LrZRvR/rcnycwZzqxVTFWac qbBhWGXNtHCWjRMTd1EPaix/9ab/4jhvhYRxdJqY7obFBQ8zYLsVIv9+jAwSROyvmmvLvG MyZxGZpGDVQFCIrFMoV6deQod2BeWFEgYRPYUH42nT2ua4geHf2gvikJ0n434w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1720633434; a=rsa-sha256; cv=none; b=dVG8VWeQ9HrIv3tS13LTPiRJ+Q/lPEEDQtcBHIelkkEyVKB8o5yECNgHPXShvPMGAVu4bW QUeMBVQOQ1MgJ6a/MXqmqj0qPBxXhxwfWm/FToeripPRknKtAXjvy5YPSJkxyRShGujrIN hN9bJhQFPvQ2tiHH0d3OOCcTGxBNZ1odHM9nhab11NJQlDUwro98EfZWStDcDUJLzMkocY Mhl82Jb4eBCF9IcmOQuiyYV3sulNFvi3kOSOWXEJs0Hsx+/q2qgTYmhbCZ6PHPiVlHEq35 XBBajZdrKEph6iS7naUaoePWU5LakEem61CV7k/FdIf3wB9D/hKQuZVJnZU81Q== 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=1720633434; 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: content-transfer-encoding:content-transfer-encoding:dkim-signature; bh=IVKhpMziAM6cMe0K2skjd4jdY+qW39VxObv528n0KJ0=; b=vr5PVY/MR2Jul/SN60GeVuLaQpzrIpbaHnDpky0bETkWSlFLHN88OZ6o79j6kaNmL89jKa zVlcSrvRS6gLVZBIrB54Cxem76qRYHf/CL5qT0pxmw0J4VQugy9doRt9wamzG2dd0DM2sj PmLAXUDemOGk8Anj3ZiMx78eRpUGuAvmFxdyj2uDx4XEyshtZPwdeS/b7mGAfRSPxQTs/0 zQPxZ6hK6jEyIk0bdyQXdyt+Ig32bmARXxmGbCVqQFlPlKNj0Pkr1XbFYm+GYq5c6Mrr6r Q4YeWCYXtmecdAHgdYoMw3g9onsnNwdymkYp8l/3X1iW4v1axvUyRbS9meAh0g== 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 4WK4wV0hsWzdh7; Wed, 10 Jul 2024 17:43:53 +0000 (UTC) (envelope-from christos@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=mail; bh=IVKhpMziAM6cMe0 K2skjd4jdY+qW39VxObv528n0KJ0=; h=subject:cc:to:from:date; d=margiolis.net; b=mdlBkPxrKFOhorbZovZ8RYFpvuoUNsF2Awr5ILnWn3b9O+8be2R 7o6S+mtl44Cu3etU8H2eOTsDqjv2V6z5C2WQfBUnrdSMpf5SxHMn9Jal6gxCBMf3+Wn/Aq nN+NBOyM94QCg7H7aGWE74KEUrB/n9LHa6N5Cetf4ObQN2R+j8= Received: from tpad (ip-45-81-121-44.ask4internet.com [45.81.121.44]) by margiolis.net (OpenSMTPD) with ESMTPSA id 514ed81b (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Wed, 10 Jul 2024 17:43:50 +0000 (UTC) Date: Wed, 10 Jul 2024 19:43:50 +0200 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 #17] 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=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Finalized and committed all of previous weeks' open patches and MFC’d them to stable/14.: sound: SNDCTL_AUDIOINFO: Do not skip physical channels if VCHANs are disabled: https://cgit.freebsd.org/src/commit/?id=f30af1f037a68947edbabebc7ab495cd1b7a4ec8 sound: Get rid of snd_sb16 workaround in vchan_create(): https://cgit.freebsd.org/src/commit/?id=d6d4586b0b7e3b01812e6c26818af78bf9b680a3 [*] sound: Fix lock order reversals in mseq_open(): https://cgit.freebsd.org/src/commit/?id=fc76e24e583d45a3a59fd7ad4e603c0679eaf572 [*] Peter Holm email me saying he's experienced problems with with commit when testing it with stress2. The issue was that I forgot to drop the lock in the error path. I wrote a fix but then saw that rew@ had already pushed the same fix: https://cgit.freebsd.org/src/commit/?id=3114d55866b86ca1132923211936aa23881b0057 snd_uaudio: Remove unused sc_sndstat sbuf: https://cgit.freebsd.org/src/commit/?id=3402d474ceb8541d07689bad6960f90739129997 sound: Remove MIDI_TYPE: https://cgit.freebsd.org/src/commit/?id=526bd1d87ec997e1c090262da6f2d9b6da0e8f89 sound: Remove *MINOR from midi/: https://cgit.freebsd.org/src/commit/?id=8b9e1b628064daba3650d04fa83cf79808877981 sound: Simplify getchns(): https://cgit.freebsd.org/src/commit/?id=46e92a41cb539e327dd059d571fa381d0fbe779c sound: Improve simplex handling in dsp_open(): https://cgit.freebsd.org/src/commit/?id=be04a9d9387f6b5d4e83fc4976d8d83bb03fe5af sound: Make DSP_FIXUP_ERROR() regular code: https://cgit.freebsd.org/src/commit/?id=adc1713fb13f89a6eb33f5de840c981d0e17e4b7 sound: Remove dead code in pcm_register(): https://cgit.freebsd.org/src/commit/?id=a9f08df3e9004f431e98f67afc1ac2b2f773ec14 sound: Handle midistat_lock through function interface: https://cgit.freebsd.org/src/commit/?id=2d6fc24673ccc97020c94094f97ee015f1db9702 sound: Fix min/max rate for SNDCTL_AUDIOINFO and SNDCTL_ENGINEINFO: https://cgit.freebsd.org/src/commit/?id=86585210fd5657542884b22eb52b21e960b7be6c sound: Refactor sndstat_get_caps(): https://cgit.freebsd.org/src/commit/?id=9d8b93bc9ccea82b648ffa9354200c9e4d3f211b sound: Add min_rate and min_channels safety check in SNDCTL_AUDIOINFO: https://cgit.freebsd.org/src/commit/?id=1a768ea9db3d66941b0dc5340ac028ef548808b8 sound: Add missing CHN_[UN]LOCKs in sndstat: https://cgit.freebsd.org/src/commit/?id=e850bd36dfda98608432d2459800627d16119fec --- audio(3): Sent an email Alexandre Ratchov, who is an active OpenBSD audio contributor and author of sndio, about audio(3) and sndio(3), after he replied to my latest development report on freebsd-multimedia@. Testing and fixing audio and MIDI read() and write() functions. Memory-mapped IO still doesn’t work properly, still fighting with it. --- Implementing mididump(1), a MIDI reading/writing program, similar to OpenBSD’s midicat(1). Uses audio(3). --- sound tests: Add sndstat nvlist ATF test: https://reviews.freebsd.org/D45901 Writing a dummy sound driver to use it for testing. --- Started working on a bluetooth device management utility, for now named btctl(8). Unfortunately hccontrol(8) is totally unreliable, works not even half the time, and this makes testing the tool really hard… I might have to contact the author of hccontrol(8) to see if we can address this issue. This work is sponsored by the FreeBSD Foundation.