Date: Sun, 01 Aug 2021 19:05:12 +0000 From: bugzilla-noreply@freebsd.org To: multimedia@FreeBSD.org Subject: [Bug 251125] audio/jack: update to jack2 or add new port audio/jack2 Message-ID: <bug-251125-12827-D2jI8anIaX@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-251125-12827@https.bugs.freebsd.org/bugzilla/> References: <bug-251125-12827@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D251125 Florian Walpen <dev@submerge.ch> 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 <dev@submerge.ch> --- 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.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-251125-12827-D2jI8anIaX>