David Reid
1d6fe3efc9
JACK: Refactoring.
...
* Devices are now enumerated properly. It will enumerate input or output
ports depending on the device type, and then group by the client name.
The client name will be considered a "device" from the perspective of
miniaudio. The number of local ports will be the channel count.
* The port auto-connection process is now done in init() rather than
start(). I do not know why this was ever in start() in the first
place.
* Port auto-connection will now be restricted to the client ports. The
old system would connect across multiple clients which is just a
nonsensical way of doing. If more ports are requested than are
available on the client, the excess ports will just not be connected.
2026-01-16 18:26:34 +10:00
David Reid
72ed924fb5
PipeWire: Make native data format detection more specific.
2026-01-16 15:08:57 +10:00
David Reid
b29541068c
Minor changes to deviceio output.
2026-01-16 15:08:19 +10:00
David Reid
c3dcf0d1db
Update tests readme.
2026-01-16 06:42:44 +10:00
David Reid
3a052ada0d
Fix a compilation warning.
2026-01-16 06:42:23 +10:00
David Reid
7ac50d477e
Clean up some old code relating to the new device info system.
2026-01-16 06:26:01 +10:00
David Reid
a0b24f6d3d
audio(4): Fix a compilation error on OpenBSD.
2026-01-16 06:20:49 +10:00
David Reid
ab06cb340f
WASAPI: Update to new device info system.
2026-01-15 19:41:27 +10:00
David Reid
b5213e0265
DirectSound: Update to new device info system.
2026-01-15 19:41:10 +10:00
David Reid
48cc2d3cf1
WinMM: Update to new device info system.
2026-01-15 19:40:32 +10:00
David Reid
01b69f7323
Core Audio: Update to the new device info system.
2026-01-15 19:06:41 +10:00
David Reid
17a3941c94
sndio: Update to the new device info system.
2026-01-15 17:33:11 +10:00
David Reid
06394e8e90
audio(4): Update to the new device info system.
2026-01-15 17:21:08 +10:00
David Reid
e0e26b5535
OSS: Update to the new device info system.
2026-01-15 16:54:02 +10:00
David Reid
cfed5b09a6
Web Audio: Update to the new device info system.
2026-01-15 16:27:06 +10:00
David Reid
131fa04cd6
OpenSL: Update to the new device info system.
2026-01-15 16:06:22 +10:00
David Reid
838174a418
AAudio: Update to the new device info system.
2026-01-15 16:06:08 +10:00
David Reid
878cf797cc
JACK: Update to the new device info system.
2026-01-15 15:49:47 +10:00
David Reid
3a84c31cff
ALSA: Update to the new device info system.
2026-01-15 15:14:46 +10:00
David Reid
3d697c27e6
PulseAudio: Update to the new device info system.
2026-01-15 14:54:01 +10:00
David Reid
6c1206931b
Null: Updates to the new device info system.
2026-01-15 14:50:03 +10:00
David Reid
08d4c60bc3
SDL2: Update to the new device info system.
2026-01-15 14:47:20 +10:00
David Reid
91ddce1d17
PipeWire: Update to the new device info system.
2026-01-15 14:42:14 +10:00
David Reid
434bfc6a0b
Set up some infrastructure for the new device info structure.
2026-01-15 14:24:41 +10:00
David Reid
461ced3280
JACK: Minor memory allocation optimization.
2026-01-15 12:34:20 +10:00
David Reid
ce4f9aab39
JACK: Optimize some buffer management.
2026-01-15 12:23:34 +10:00
David Reid
e69049e6ac
Fix a bug with duplex mode in the deviceio test.
2026-01-15 12:01:57 +10:00
David Reid
2b49a81e87
JACK: Optimization for multi-threaded mode.
...
In multi-threaded mode we can just fire the miniaudio data callback
straight from the JACK data callback instead of going through our
helper.
2026-01-15 11:38:10 +10:00
David Reid
e7d94638cf
Wake up the backend when uninitializing.
2026-01-15 11:31:53 +10:00
David Reid
dc7f5286ca
ALSA: A pedantic optimization to avoid a malloc.
2026-01-15 10:45:36 +10:00
David Reid
1509e9b375
Fix an error with the --enumerate-only option in deviceio test.
2026-01-15 10:45:11 +10:00
David Reid
b4a26d21dd
audio(4): Fix enumeration on OpenBSD.
2026-01-15 10:23:04 +10:00
David Reid
6c0c35387d
Add --only-enumerate option to deviceio test.
2026-01-15 09:09:55 +10:00
David Reid
cbe640efbf
audio(4): Drain the device when stopping on OpenBSD.
2026-01-15 09:01:33 +10:00
David Reid
c440b4b670
audio(4): Fix starting and stopping on OpenBSD.
2026-01-14 17:44:56 +10:00
David Reid
c1831a677f
sndio: Minor restructure for consistency with other backends.
2026-01-14 16:46:42 +10:00
David Reid
f15717ba3e
OSS: Drain the playback device when stopping.
2026-01-14 16:39:52 +10:00
David Reid
90aa390a08
OSS: Optimize memory allocations during device initialization.
2026-01-14 16:31:29 +10:00
David Reid
2a2eb5bae4
audio(4): Optimize memory allocations during device initialization.
2026-01-14 16:11:01 +10:00
David Reid
f0d84c6895
sndio: Fix a playback error.
2026-01-14 15:17:49 +10:00
David Reid
5ad9e784f9
audio(4): Fix a playback error.
2026-01-14 15:14:36 +10:00
David Reid
2fa51de5cf
OSS: Fix a playback error.
2026-01-14 15:09:17 +10:00
David Reid
77abc8f69c
ALSA: Optimize some memory allocation during device initialization.
...
This reduces memory allocations down from 3 to 1 (one malloc + realloc).
2026-01-14 15:04:48 +10:00
David Reid
7c3f845658
ALSA: Fix a playback data throughput error.
...
This has the data callback handling and the ALSA writing operation in
the wrong order.
I have no idea how I missed this...
2026-01-14 15:00:54 +10:00
David Reid
86a17a30e8
sndio: Optimize some memory management.
...
This just combines some memory allocations into a single one.
2026-01-14 13:34:55 +10:00
David Reid
463200d3cc
OSS: Fix a bug with playback buffer priming.
2026-01-14 11:45:05 +10:00
David Reid
6ca4ddefe6
audio(4): Fix a bug with playback buffer priming.
2026-01-14 11:44:42 +10:00
David Reid
9af808b800
sndio: Prime the playback buffer when starting the device.
2026-01-14 11:43:54 +10:00
David Reid
d68dd6c433
sndio: Use a shared intermediary buffer for duplex mode.
...
Previously this was using two separate buffers for the capture and
playback sides, but it's not necessary to use two separate buffers
because they'll never be used simultaneously. It can therefore be
optimized by allocating a single buffer that is big enough for either of
them.
2026-01-14 11:28:50 +10:00
David Reid
d61eaa885e
sndio: Improvements to blocking step logic.
2026-01-14 11:09:30 +10:00