From nobody Sun Apr 06 19:08:59 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 4ZW2282wzfz5sLXY; Sun, 06 Apr 2025 19:09:04 +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 4ZW2280mzgz3RHP; Sun, 06 Apr 2025 19:09:04 +0000 (UTC) (envelope-from christos@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1743966544; 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=lrWgsCxL3quBwtC5I7EbzQA9a6o/4fW5wdlk8K1EvYw=; b=ObBuyeCFaVJ4dftd+gW32d513TOpu7g6tvQ/3CFuNUsemGm5SeGo7DKYt9NkbBav9KTg3T DtJ7pIVBw+IBMQezPe/31lyEToOPA8rAh+ld8xF6oWfGY/MK1tLN8UptLFnRTJOdmTEBP2 40OMZo+l6bS+PYjqfyk5G12HZlMLtf6Qpx63P3mHvJk0FktvuiiINsw7BIH7N9rRu3L4If u+UBfWfUSirvF8O+q2v+wMmQRQhcNLchZE5rXJRorrtVu+t3W01I+g7ztRKkylaDVrwqZs bTxUlfxkAu89EBBbWwQoDlNjZHhhA2FGm5833IuB3GurytxBSVdgvK/o7Cd2Tw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1743966544; a=rsa-sha256; cv=none; b=IEXr08HS3JUnC2gBAo9r5qGhie8RHCaBO3mLP7kffVP0xlhFhOxjsKaptsycKiD+3+cEzt YJzxV0YbL5tenr3xD2yeMg7EeAPfRHTal8psUNbV4V4RgGUQ9DYhb3JhynNEksxkaHCg7h qrCiwVTcZqpXcERxwR4hv8FpfrIbUxP9PYqe2NW99XvVr/vXnqlM0XFx+UxViNrXD9m6In S4VyYjHmN1UB394bblKZyUTPWso8fNK7BXCe4QyreSwNFXzDAbA3h20WL2u0Ld6TQlgpqH VB7siKW5Ap1bsQumwu9U4RW3fBnl/J+X7qa7S3UOGwMSc3+zzm5K9OL5IHy0cQ== 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=1743966544; 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=lrWgsCxL3quBwtC5I7EbzQA9a6o/4fW5wdlk8K1EvYw=; b=SKYBpBUNRMC5Td0LoDNXX6/2oYdGNaEFyV5Izsf0CU+Yp7hSjzLJQS2IFe8R0tmrNzCCni KuAezKrOgsWlEu/wboqVL/r+Fz5zNidYrSo7kigmm6StkhJHVNeCxXP1O1UopsZ+sQARUG Z6YmmtH1uTD+Bu4bWQfsE2C+ZHCec8TpGX5//L/Bes/a2r6CL4H/Gp/UHyXjTcgiDCnkrp jq72Lk5MKpGDHSzyrdcbk9kAVR6DEb6pq756oXvAd+amdh1PLzNBLxaZlkhn7lhu/mtnQ0 Dm6Kmfv7LsvmyPVHgJd/anRC97TXqqet3Fd2IuUJPTtahAfuaxHCAQ+sFwuj3Q== 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 4ZW22748w9z109b; Sun, 06 Apr 2025 19:09:03 +0000 (UTC) (envelope-from christos@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=mail; bh=lrWgsCxL3quBwtC 5I7EbzQA9a6o/4fW5wdlk8K1EvYw=; h=subject:cc:to:from:date; d=margiolis.net; b=De0dLh6k9aqgm4exCSMgWg3NMjwCBWFvBkvl5jm46YHIHDx0/Z8 VqsfvmBxDnm5LVBDCM2RWSKeqMBpULcFAMoIKh+gkgxi2zajvCWCRto3tG4r1OavH4mVbQ XoQjkRZrX3ubbc2UfY5YNBVCXWvPLIf7Jux7u3RldnJbDJTCYs= Received: from pleb (public-gprs237549.centertel.pl [31.60.75.46]) by margiolis.net (OpenSMTPD) with ESMTPSA id ca0e3ba4 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sun, 6 Apr 2025 19:09:00 +0000 (UTC) Date: Sun, 6 Apr 2025 21:08:59 +0200 From: Christos Margiolis To: freebsd-hackers@freebsd.org Cc: freebsd-multimedia@freebsd.org, freebsd-desktop@freebsd.org Subject: [Call for testing] sound: Implement /dev/dsp as a router device 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 I've been working on a patch [1] to re-implement /dev/dsp as a router/virtual device. The commit message in the review explains all the high-level details and reasons behind the patch. This is the first of a series of patches I'm working on. For regular users, the main functional difference is that with this patch, /dev/dsp is an actual router device (like when using virtual_oss), which means that we have hot-swapping (i.e., changing the default device and routing audio to it during IO without needing to close and re-open /dev/dsp) built into sound(4). Feel free to test the patch and please let me know if there's anything that breaks or could be improved. You can play around with it just by recording/playing audio as you always do, try some hot-swaps, hot-(un)plugs, and anything that can stress test it. Just make sure you open /dev/dsp, which should be the default for most applications anyway. Christos [1] https://reviews.freebsd.org/D49216