| Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
| Commit | Credits | Log message |
0.9.11 24 Jul 2026 22:49:48
    |
Kevin Bowling (kbowling)  |
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
    |
Mikael Urankar (mikael)  |
lang/rust: Bump revisions after 1.97.1
PR: 296645 |
0.9.10 20 Jul 2026 21:57:04
    |
Kevin Bowling (kbowling)  |
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
    |
Kevin Bowling (kbowling)  |
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
    |
Kevin Bowling (kbowling)  |
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
    |
Kevin Bowling (kbowling)  |
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
    |
Kevin Bowling (kbowling)  |
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
    |
Kevin Bowling (kbowling)  |
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
    |
Kevin Bowling (kbowling)  |
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
    |
Kevin Bowling (kbowling)  |
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
    |
Kevin Bowling (kbowling)  |
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
    |
Kevin Bowling (kbowling)  |
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 ) |
0.9.0 26 Jun 2026 07:44:23
    |
Kevin Bowling (kbowling)  |
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 ) |