Commit Graph

4599 Commits

Author SHA1 Message Date
David Reid cb0e6afe70 Update to the decoding backend system.
The `onGetEncodingFormat` callback has been removed and replaced with an
`onInfo`. This new callback fills out a struct with the supported
encoding format (is recognized by miniaudio), in addition to the name of
the decoding backend, and the decoding library and vendor.
2026-01-17 14:49:26 +10:00
David Reid 3ab17977ea Have the engine apply clipping to samples at the end of processing.
This can be disabled with the `noClip` config option.
2026-01-17 12:55:09 +10:00
David Reid 89663fa647 Merge branch 'dev' into dev-0.12 2026-01-17 12:19:20 +10:00
David Reid 347321b27c Version 0.11.24 0.11.24 2026-01-17 09:37:44 +10:00
David Reid da94cf2bc6 Update fs. 2026-01-17 09:34:51 +10:00
David Reid 8e6283aa31 Fix a warning. 2026-01-17 09:34:34 +10:00
David Reid d0b98eee6b Update change history. 2026-01-17 09:25:06 +10:00
David Reid 74912d525b Add SECURITY.md 2026-01-17 08:58:02 +10:00
Richard Keller a551f0e70b Free pa_context if connecting to PulseAudio fails. 2026-01-17 08:50:10 +10:00
David Reid 7dae981ad5 Add some helpers for resetting a sound after a fade and stop.
Public issue https://github.com/mackron/miniaudio/issues/714
2026-01-17 07:32:18 +10:00
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