From nobody Sun Aug 1 19:05:12 2021 X-Original-To: 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 4BE7512DE869 for ; Sun, 1 Aug 2021 19:05:13 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Gd9Z11b1tz3K4j for ; Sun, 1 Aug 2021 19:05:13 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1ECE5118F8 for ; Sun, 1 Aug 2021 19:05:13 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 171J5DFv046866 for ; Sun, 1 Aug 2021 19:05:13 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 171J5DdY046865 for multimedia@FreeBSD.org; Sun, 1 Aug 2021 19:05:13 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: multimedia@FreeBSD.org Subject: [Bug 251125] audio/jack: update to jack2 or add new port audio/jack2 Date: Sun, 01 Aug 2021 19:05:12 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: dev@submerge.ch X-Bugzilla-Status: Open X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: yuri@freebsd.org X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: attachments.isobsolete attachments.created Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated 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 X-ThisMailContainsUnwantedMimeParts: N https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D251125 Florian Walpen changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #220087|0 |1 is obsolete| | Attachment #220234|0 |1 is obsolete| | Attachment #220321|0 |1 is obsolete| | --- Comment #83 from Florian Walpen --- Created attachment 226860 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D226860&action= =3Dedit New jack2 OSS driver from private github repo Call for testing! And sorry for the long wait. I have what I think is a reasonably working implementation here: https://github.com/0EVSG/jack2/commits/feature/freebsd_oss Please note that the patches attached apply to the ports repo and will fetch sources from my private github repo above. If there is no intervention I wi= ll try to upstream my changes in a week or so. But I'd be glad to have some mo= re testing or opinions on it to back it up. Implementation -------------- The OSS buffer size (discussed above) is only changed if the current buffer size is too small. I abandoned the idea of harmonizing the fragment sizes of capture and playback channels, it caused trouble with some devices (namely hda). It uses poll() for wait and sync now, which is more in line with other jack drivers like ALSA. This also allows to enable jack "async" mode, which means plugins and other jack processes cannot stall the whole jack process anymor= e. My main concern was to get defined and stable latencies for recording. This implementation tries hard to keep the latency within +/- 1ms for a given configuration, despite over- and underruns, drifting, missing USB packets a= nd whatever I encountered during my tests. But for that it may also be prone to overreacting in some cases. Alas, I am using it successfully for recording since about 3 weeks ago, and never had any issues with timing. On portability: 16, 24 and 32 bit sample sizes are supported, but the conversion functions are limited to native endianness. The lot of little-en= dian sound cards will therefore not work in bitperfect mode on big-endian platfo= rms. Migration --------- Port audio/lash fails with missing -pthread, see patch. Apart from that the= re was no fallout AFAIK. The high priority jackd system service is still available, although some arguments changed and the man page is not up to date. Try "jackd --help" and "jackd -d oss --help". The more conventional way is to start jack via DBUS (needs service dbus). Configuration has to be done through the jack_control utility, see "jack_control help". Relevant settings include driver selection ("oss"), dr= iver parameters, and engine parameters ("sync", "verbose"). Unfortunately, graphical tools like qjackctl or cadence do not produce working configurati= ons, but can at least be used to start jack_dbus. I'm open to questions, suggestions and error reports (logs appreciated). Thanks! --=20 You are receiving this mail because: You are on the CC list for the bug.=