notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photos
All times are UTC
Ukraine
The recently imposed "must be logged in" restriction is a response to increased bot traffic on the site. This affects search, commits, and vuxml pages.
Search engines are not blocked. Try using "site:www.freshports.org" and your search terms.
After the ports freeze to fix some stuff, the freeze is over. I have some work to do before FreshPorts can start processing commits again before it can start processing again. I've created an issue for that.
Port details
pipewire-spa-oss-ng PipeWire SPA plugin implementing a FreeBSD OSS backend
0.9.12 audio on this many watch lists=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 0.9.0Version of this port present on the latest quarterly branch.
Maintainer: kbowling@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2026-06-26 07:45:07
Last Update: 2026-08-28 07:03:51
Commit Hash: 774b6e7
License: MIT
WWW:
https://github.com/kev009/pw-oss
Description:
PipeWire module implementing an OSS backend with fixes.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

Manual pages:
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist
Expand this list (7 items)
Collapse this list.
  1. lib/spa-0.2/libspa_freebsd_oss.so
  2. share/pipewire/pipewire.conf.d/oss.conf
  3. share/wireplumber/scripts/monitors/oss.lua
  4. share/wireplumber/wireplumber.conf.d/oss.conf
  5. /usr/local/share/licenses/pipewire-spa-oss-ng-0.9.12/catalog.mk
  6. /usr/local/share/licenses/pipewire-spa-oss-ng-0.9.12/LICENSE
  7. /usr/local/share/licenses/pipewire-spa-oss-ng-0.9.12/MIT
Collapse this list.
USE_RC_SUBR (Service Scripts)
  • no SUBR information found for this port
Dependency lines:
  • pipewire-spa-oss-ng>0:audio/pipewire-spa-oss-ng
Conflicts:
CONFLICTS_INSTALL:
  • pipewire-spa-oss
To install the port:
cd /usr/ports/audio/pipewire-spa-oss-ng/ && make install clean
To add the package, run one of these commands:
  • pkg install audio/pipewire-spa-oss-ng
  • pkg install pipewire-spa-oss-ng
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
PKGNAME: pipewire-spa-oss-ng
Flavors: there is no flavor information for this port.
ONLY_FOR_ARCHS: aarch64 amd64 powerpc64 powerpc64le riscv64
distinfo:
TIMESTAMP = 1787900308 SHA256 (rust/crates/aho-corasick-1.1.5.crate) = c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba SIZE (rust/crates/aho-corasick-1.1.5.crate) = 184315

Expand this list (120 items)

Collapse this list.

SHA256 (rust/crates/annotate-snippets-0.11.5.crate) = 710e8eae58854cdc1790fcb56cca04d712a17be849eeb81da2a724bf4bae2bc4 SIZE (rust/crates/annotate-snippets-0.11.5.crate) = 34687 SHA256 (rust/crates/anstyle-1.0.14.crate) = 940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000 SIZE (rust/crates/anstyle-1.0.14.crate) = 17787 SHA256 (rust/crates/bindgen-0.72.1.crate) = 993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895 SIZE (rust/crates/bindgen-0.72.1.crate) = 246071 SHA256 (rust/crates/bitflags-2.13.1.crate) = b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da SIZE (rust/crates/bitflags-2.13.1.crate) = 51395 SHA256 (rust/crates/cc-1.4.4.crate) = 0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273 SIZE (rust/crates/cc-1.4.4.crate) = 100602 SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766 SIZE (rust/crates/cexpr-0.6.0.crate) = 17966 SHA256 (rust/crates/cfg-expr-0.20.9.crate) = fe4ece8474b5f766c63426647e7b4b316b67431ade1036a8313cee24a03ae917 SIZE (rust/crates/cfg-expr-0.20.9.crate) = 45746 SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801 SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360 SHA256 (rust/crates/cfg_aliases-0.2.2.crate) = f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527 SIZE (rust/crates/cfg_aliases-0.2.2.crate) = 6527 SHA256 (rust/crates/clang-sys-1.9.1.crate) = 157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a SIZE (rust/crates/clang-sys-1.9.1.crate) = 47227 SHA256 (rust/crates/cookie-factory-0.3.3.crate) = 9885fa71e26b8ab7855e2ec7cae6e9b380edff76cd052e07c683a0319d51b3a2 SIZE (rust/crates/cookie-factory-0.3.3.crate) = 19084 SHA256 (rust/crates/either-1.18.0.crate) = 252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34 SIZE (rust/crates/either-1.18.0.crate) = 22357 SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f SIZE (rust/crates/equivalent-1.0.2.crate) = 7419 SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb SIZE (rust/crates/errno-0.3.14.crate) = 12002 SHA256 (rust/crates/find-msvc-tools-0.1.11.crate) = d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890 SIZE (rust/crates/find-msvc-tools-0.1.11.crate) = 31517 SHA256 (rust/crates/glob-0.3.4.crate) = e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b SIZE (rust/crates/glob-0.3.4.crate) = 23511 SHA256 (rust/crates/hashbrown-0.17.1.crate) = ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a SIZE (rust/crates/hashbrown-0.17.1.crate) = 155512 SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea SIZE (rust/crates/heck-0.5.0.crate) = 11517 SHA256 (rust/crates/indexmap-2.14.0.crate) = d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9 SIZE (rust/crates/indexmap-2.14.0.crate) = 104085 SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186 SIZE (rust/crates/itertools-0.13.0.crate) = 146261 SHA256 (rust/crates/libc-0.2.189.crate) = 3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2 SIZE (rust/crates/libc-0.2.189.crate) = 851502 SHA256 (rust/crates/libloading-0.8.9.crate) = d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55 SIZE (rust/crates/libloading-0.8.9.crate) = 30222 SHA256 (rust/crates/libspa-0.10.1.crate) = 882f7427e7989dcc9d388b7f05c4630390a1d7696f9ffa469cd4a7a48f0b4c40 SIZE (rust/crates/libspa-0.10.1.crate) = 65507 SHA256 (rust/crates/libspa-sys-0.10.1.crate) = 3b6e17bdaf63ed0d5e4144022624032b41fd9733112e8c74ac26fc9bf1291924 SIZE (rust/crates/libspa-sys-0.10.1.crate) = 9420 SHA256 (rust/crates/linux-raw-sys-0.12.1.crate) = 32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53 SIZE (rust/crates/linux-raw-sys-0.12.1.crate) = 3006116 SHA256 (rust/crates/memchr-2.8.3.crate) = cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98 SIZE (rust/crates/memchr-2.8.3.crate) = 99165 SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841 SHA256 (rust/crates/nix-0.31.3.crate) = cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d SIZE (rust/crates/nix-0.31.3.crate) = 347476 SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a SIZE (rust/crates/nom-7.1.3.crate) = 117570 SHA256 (rust/crates/nom-8.0.0.crate) = df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405 SIZE (rust/crates/nom-8.0.0.crate) = 135590 SHA256 (rust/crates/pkg-config-0.3.34.crate) = f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548 SIZE (rust/crates/pkg-config-0.3.34.crate) = 21370 SHA256 (rust/crates/proc-macro2-1.0.107.crate) = 985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9 SIZE (rust/crates/proc-macro2-1.0.107.crate) = 59588 SHA256 (rust/crates/quote-1.0.47.crate) = 1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001 SIZE (rust/crates/quote-1.0.47.crate) = 31622 SHA256 (rust/crates/regex-1.13.1.crate) = f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d SIZE (rust/crates/regex-1.13.1.crate) = 157118 SHA256 (rust/crates/regex-automata-0.4.18.crate) = ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2 SIZE (rust/crates/regex-automata-0.4.18.crate) = 628707 SHA256 (rust/crates/regex-syntax-0.8.11.crate) = d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4 SIZE (rust/crates/regex-syntax-0.8.11.crate) = 359055 SHA256 (rust/crates/rustc-hash-2.1.3.crate) = 6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d SIZE (rust/crates/rustc-hash-2.1.3.crate) = 14811 SHA256 (rust/crates/rustix-1.1.4.crate) = b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190 SIZE (rust/crates/rustix-1.1.4.crate) = 425241 SHA256 (rust/crates/serde_core-1.0.229.crate) = 67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48 SIZE (rust/crates/serde_core-1.0.229.crate) = 63100 SHA256 (rust/crates/serde_derive-1.0.229.crate) = e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348 SIZE (rust/crates/serde_derive-1.0.229.crate) = 59864 SHA256 (rust/crates/serde_spanned-1.1.1.crate) = 6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26 SIZE (rust/crates/serde_spanned-1.1.1.crate) = 11025 SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64 SIZE (rust/crates/shlex-1.3.0.crate) = 18713 SHA256 (rust/crates/shlex-2.0.1.crate) = f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba SIZE (rust/crates/shlex-2.0.1.crate) = 19332 SHA256 (rust/crates/smallvec-1.15.2.crate) = 8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90 SIZE (rust/crates/smallvec-1.15.2.crate) = 34899 SHA256 (rust/crates/syn-2.0.119.crate) = 872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297 SIZE (rust/crates/syn-2.0.119.crate) = 307407 SHA256 (rust/crates/syn-3.0.4.crate) = e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f SIZE (rust/crates/syn-3.0.4.crate) = 313047 SHA256 (rust/crates/system-deps-7.0.8.crate) = 396a35feb67335377e0251fcbc1092fc85c484bd4e3a7a54319399da127796e7 SIZE (rust/crates/system-deps-7.0.8.crate) = 30092 SHA256 (rust/crates/target-lexicon-0.13.5.crate) = adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca SIZE (rust/crates/target-lexicon-0.13.5.crate) = 26928 SHA256 (rust/crates/toml-1.1.4+spec-1.1.0.crate) = 3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5 SIZE (rust/crates/toml-1.1.4+spec-1.1.0.crate) = 56447 SHA256 (rust/crates/toml_datetime-1.1.1+spec-1.1.0.crate) = 3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7 SIZE (rust/crates/toml_datetime-1.1.1+spec-1.1.0.crate) = 17982 SHA256 (rust/crates/toml_parser-1.1.3+spec-1.1.0.crate) = 1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56 SIZE (rust/crates/toml_parser-1.1.3+spec-1.1.0.crate) = 35888 SHA256 (rust/crates/toml_writer-1.1.2+spec-1.1.0.crate) = 7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2 SIZE (rust/crates/toml_writer-1.1.2+spec-1.1.0.crate) = 18968 SHA256 (rust/crates/uds-0.4.2.crate) = 885c31f06fce836457fe3ef09a59f83fe8db95d270b11cd78f40a4666c4d1661 SIZE (rust/crates/uds-0.4.2.crate) = 47387 SHA256 (rust/crates/unicode-ident-1.0.24.crate) = e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75 SIZE (rust/crates/unicode-ident-1.0.24.crate) = 49298 SHA256 (rust/crates/unicode-width-0.2.2.crate) = b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254 SIZE (rust/crates/unicode-width-0.2.2.crate) = 282768 SHA256 (rust/crates/version-compare-0.2.1.crate) = 03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e SIZE (rust/crates/version-compare-0.2.1.crate) = 14245 SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5 SIZE (rust/crates/windows-link-0.2.1.crate) = 6133 SHA256 (rust/crates/windows-sys-0.61.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186 SHA256 (rust/crates/winnow-1.0.4.crate) = 23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81 SIZE (rust/crates/winnow-1.0.4.crate) = 188513 SHA256 (kev009-pw-oss-v0.9.12_GH0.tar.gz) = bbf314afb779ea590008f8610a5e9844c04af8fe31312a06baa0e39f72d9d213 SIZE (kev009-pw-oss-v0.9.12_GH0.tar.gz) = 266333

Collapse this list.


Packages (timestamps in pop-ups are UTC):
pipewire-spa-oss-ng
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest--n/an/an/an/an/an/a
FreeBSD:13:quarterly--n/an/an/an/an/an/a
FreeBSD:14:latest0.9.110.9.12------
FreeBSD:14:quarterly0.9.50.9.5------
FreeBSD:15:latest0.9.120.9.12n/a-n/an/a--
FreeBSD:15:quarterly0.9.50.9.5n/a-n/an/a--
FreeBSD:16:latest0.9.110.9.12n/a-n/an/a--
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. rust>=1.97.0 : lang/rust
  2. pkgconf>=1.3.0_1 : devel/pkgconf
Library dependencies:
  1. libpipewire-0.3.so : multimedia/pipewire
  2. libLLVM-19.so : devel/llvm19
There are no ports dependent upon this port

Configuration Options:
No options to configure
Options name:
audio_pipewire-spa-oss-ng
USES:
cargo llvm:lib,noexport
FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (1 items)
Collapse this list.
  1. https://codeload.github.com/kev009/pw-oss/tar.gz/v0.9.12?dummy=/
Collapse this list.

Number of commits found: 14

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
0.9.12
28 Aug 2026 07:03:51
commit hash: 774b6e73a0391e46a2c5c9c749235033908a2d2ecommit hash: 774b6e73a0391e46a2c5c9c749235033908a2d2ecommit hash: 774b6e73a0391e46a2c5c9c749235033908a2d2ecommit hash: 774b6e73a0391e46a2c5c9c749235033908a2d2e files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.12

Match FreeBSD's scaled PCM secondary-buffer policy and cache
nonuniform silence fills so larger rings remain allocation-free on
the data loop.

Stabilize native timer readiness coverage, harden checked SPA FFI
pointers, and refresh Rust dependencies.
0.9.11
24 Jul 2026 22:49:48
commit hash: 085302c29384735c51374fab7e28e79a99be85c1commit hash: 085302c29384735c51374fab7e28e79a99be85c1commit hash: 085302c29384735c51374fab7e28e79a99be85c1commit hash: 085302c29384735c51374fab7e28e79a99be85c1 files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.11

Harden live FreeBSD OSS behavior: reconnect devd monitors, improve
busy-owner diagnostics, probe exclusive rates without consuming PCM
channels, keep capture nonblocking, correct mixer state, release streams
on Suspend, and guard setup-phase streams from a live queue-sampling
assertion that could abort the data thread.

Expand OSS format support, cache companded silence fills, stabilize
adaptive scheduling, and adopt libc's typed FreeBSD ioctl helpers.
0.9.10_1
21 Jul 2026 06:47:24
commit hash: 9c892d26015fa543bc587dcd7d241c57af7e13f4commit hash: 9c892d26015fa543bc587dcd7d241c57af7e13f4commit hash: 9c892d26015fa543bc587dcd7d241c57af7e13f4commit hash: 9c892d26015fa543bc587dcd7d241c57af7e13f4 files touched by this commit
Mikael Urankar (mikael) search for other commits by this committer
lang/rust: Bump revisions after 1.97.1

PR:		296645
0.9.10
20 Jul 2026 21:57:04
commit hash: 0a8d56e7efd2c84aed2eb8853e1681a626c1d35ecommit hash: 0a8d56e7efd2c84aed2eb8853e1681a626c1d35ecommit hash: 0a8d56e7efd2c84aed2eb8853e1681a626c1d35ecommit hash: 0a8d56e7efd2c84aed2eb8853e1681a626c1d35e files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.10

Use oss APIs for channel mapping
0.9.9
20 Jul 2026 20:40:07
commit hash: 6b4d861d00cfec235d4bd60af3e2a3c556e33958commit hash: 6b4d861d00cfec235d4bd60af3e2a3c556e33958commit hash: 6b4d861d00cfec235d4bd60af3e2a3c556e33958commit hash: 6b4d861d00cfec235d4bd60af3e2a3c556e33958 files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.9

Improve playback timing and OSS event handling: avoid locked polling on
audio cycles, use enriched kqueue events for wakeups (with an optional
timer-based path), retain partial writes, retune without inserting
silence, and keep queued playback across Pause.

Generate format-correct PCM silence and harden host input and reentrant
event handling on the device and node paths.
0.9.8
19 Jul 2026 22:45:51
commit hash: d4753024a12ffb2ccbc780e1f671db6f52c72625commit hash: d4753024a12ffb2ccbc780e1f671db6f52c72625commit hash: d4753024a12ffb2ccbc780e1f671db6f52c72625commit hash: d4753024a12ffb2ccbc780e1f671db6f52c72625 files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.8

Advertise signed 24-bit, 32-bit float, and unsigned 8-bit PCM formats when
the OSS device or feeder supports them, alongside the existing 16- and
32-bit integer formats. Negotiation order, frame widths, and bitperfect
filtering are covered by tests.

Register per-module SPA log topics (spa.oss.device, .sink, .source,
.monitor) so PIPEWIRE_DEBUG='spa.oss.*:LEVEL' filters the plugin's output,
matching the spa.alsa convention.

Internally the FFI surface was reworked - unsafe confined to small kernels,
cross-loop device rebuilds moved onto owned messages instead of shared
state pointers, and the implementation organized by subsystem - with no
change to the audio path.
0.9.7
18 Jul 2026 07:36:56
commit hash: 008647e34d363b1e0e8d404c1f5310c202971be6commit hash: 008647e34d363b1e0e8d404c1f5310c202971be6commit hash: 008647e34d363b1e0e8d404c1f5310c202971be6commit hash: 008647e34d363b1e0e8d404c1f5310c202971be6 files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.7

Keep the device byte stream frame-aligned across short writes and reads.
0.9.6
13 Jul 2026 05:39:53
commit hash: 1c42660a0c829dcc7a431a7fb22b920ae1c285e6commit hash: 1c42660a0c829dcc7a431a7fb22b920ae1c285e6commit hash: 1c42660a0c829dcc7a431a7fb22b920ae1c285e6commit hash: 1c42660a0c829dcc7a431a7fb22b920ae1c285e6 files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.6

pin EnumFormat stereo last so Pulse volume width stays stable after idle
(device close and reopen shows volume slider on Plasma6).
0.9.5
08 Jul 2026 05:55:40
commit hash: 8610f9523160e11ad373fed5acf9cd1f072bec3ccommit hash: 8610f9523160e11ad373fed5acf9cd1f072bec3ccommit hash: 8610f9523160e11ad373fed5acf9cd1f072bec3ccommit hash: 8610f9523160e11ad373fed5acf9cd1f072bec3c files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.5

Retune in place across graph quantum changes
0.9.4
05 Jul 2026 07:20:47
commit hash: 8333ae0e59c8519037ad073fce0a2f03219c45dbcommit hash: 8333ae0e59c8519037ad073fce0a2f03219c45dbcommit hash: 8333ae0e59c8519037ad073fce0a2f03219c45dbcommit hash: 8333ae0e59c8519037ad073fce0a2f03219c45db files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.4

Capture (source) fixes for cramped rings and fat strides

Fixes a field report of skipping audio when recording and playing back
at once on a fat-stride USB capture device (20-channel S32, 80
bytes/frame): FreeBSD clamps the soft ring at CHN_2NDBUFMAXSIZE, so it
holds only ~1.6 graph periods there, and the capture path had no
headroom for arrival jitter.
0.9.3
04 Jul 2026 08:38:54
commit hash: 7ff026ea1fd34ffbd1476a03deb8a7f36cfc1ed6commit hash: 7ff026ea1fd34ffbd1476a03deb8a7f36cfc1ed6commit hash: 7ff026ea1fd34ffbd1476a03deb8a7f36cfc1ed6commit hash: 7ff026ea1fd34ffbd1476a03deb8a7f36cfc1ed6 files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.3

Fixes a field report of periodic drops with crackles on USB audio: the
sink's near-full fill branch keyed on small driver-forced fragments as a
proxy for a small total buffer, which uaudio breaks (1 ms soft fragments,
large grant) - near-full targeting added 100+ ms of latency and left one
fragment of overshoot headroom, so every normal servo excursion
short-wrote and dropped the tail.

Validated by a discrete-event simulation of the servo (exact DLL and
bandwidth-adaptation ports) that reproduces the field failure with the
old target and shows zero drops with the new one across +/-2000 ppm
drift, jitter storms and 4-hour runs, plus the live battery on hdspe(4).
0.9.2
03 Jul 2026 22:32:48
commit hash: 108390b1e70c51eb77deb503476a6b652c5f14e8commit hash: 108390b1e70c51eb77deb503476a6b652c5f14e8commit hash: 108390b1e70c51eb77deb503476a6b652c5f14e8commit hash: 108390b1e70c51eb77deb503476a6b652c5f14e8 files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.2

robustness fixes, driver-clock overhaul, hardware volume control
0.9.1
02 Jul 2026 11:43:33
commit hash: 7fce4822bd4e780130821ec51a28b7c3d83ef693commit hash: 7fce4822bd4e780130821ec51a28b7c3d83ef693commit hash: 7fce4822bd4e780130821ec51a28b7c3d83ef693commit hash: 7fce4822bd4e780130821ec51a28b7c3d83ef693 files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: Update to 0.9.1

Threading / robustness:
- Serialize all reconfiguration onto the data loop and stop the driver
  timer cleanly on pause/suspend (closes the renegotiation window behind
  a PipeWire audioconvert crash).
- Detach loop sources and close the timerfd on clear().
- Fail negotiation instead of aborting when the device won't open or
  rejects the format/channels/rate; validate peer-provided formats and
  buffers; return errors from all unhandled SPA entry points.
- Run without devd (hotplug disabled instead of aborting).

Audio / OSS:
- Probe device caps and advertise real formats, rates and channel
  layouts (mono through 7.1 in FreeBSD kernel interleave order, plus
(Only the first 15 lines of the commit message are shown above View all of this commit message)
0.9.0
26 Jun 2026 07:44:23
commit hash: 84f3f8010239180836f4e0ca9a963fe54e41ad5bcommit hash: 84f3f8010239180836f4e0ca9a963fe54e41ad5bcommit hash: 84f3f8010239180836f4e0ca9a963fe54e41ad5bcommit hash: 84f3f8010239180836f4e0ca9a963fe54e41ad5b files touched by this commit
Kevin Bowling (kbowling) search for other commits by this committer
audio/pipewire-spa-oss-ng: New port

PipeWire SPA plugin implementing a FreeBSD OSS backend, tracking the
pw-oss fork at https://github.com/kev009/pw-oss.

Changes over upstream shkhln/pw-oss:

Audio / OSS:
- Size the OSS buffer to the device and fix data-loop aborts.
- Adapt the fill target to the device's real fragment size.
- Report clock delay and rate; require MemPtr buffers.
- Reset the channel before close so close() doesn't block draining.
- Close the device when the format is cleared.
- Advertise and re-emit the port Format param (ALSA-sink pattern).
- Don't abort the process on an oversized chunk or a bad/unpositioned
(Only the first 15 lines of the commit message are shown above View all of this commit message)

Number of commits found: 14