361 Commits

Author SHA1 Message Date
David Reid df6119890e Merge branch 'dev' into dev-0.12 2026-03-04 07:01:18 +10:00
David Reid 9634bedb5b Version 0.11.25 2026-03-04 06:25:00 +10:00
David Reid e35c1fd64b Update the backend template. 2026-02-27 20:18:25 +10:00
David Reid d94b45d058 Add a template for device backends. 2026-02-27 17:42:28 +10:00
David Reid b5eb987b86 SDL2: Include miniaudio.h in the header. 2026-02-23 17:19:54 +10:00
David Reid 2302e58045 API CHANGE: Rename vtable to pVTable.
This applies to `ma_data_source_config` and `ma_node_config` and makes
the naming consistent with other parts of the library.
2026-01-26 15:46:58 +10:00
David Reid 7c3b8fab04 Remove osaudio.
This belongs in its own repository.
2026-01-25 18:32:57 +10:00
David Reid f37ffed283 Merge PipeWire backend into the main library. 2026-01-20 17:15:32 +10:00
David Reid 9aa4744a94 PipeWire: Fix a memory leak. 2026-01-19 18:20:31 +10:00
David Reid 0cf35695c8 PipeWire: Set up some infrastructure for future work. 2026-01-18 16:29:40 +10:00
David Reid 3a1b85bb53 PipeWire: Rename some variables. 2026-01-18 12:48:25 +10:00
David Reid a187fb0450 PipeWire: Try fixing a compilation error. 2026-01-18 11:58:07 +10:00
David Reid 8d9d61d607 PipeWire: Improve sample rate detection for device enumeration. 2026-01-18 11:41:36 +10:00
David Reid 64b3dd6f66 PipeWire: Comment out some unshippable code.
A better workaround for this is still in progress.
2026-01-18 10:31:43 +10:00
David Reid f215062678 PipeWire: Refactoring in an attempt to work around an PipeWire issue.
It turns out this didn't actually fix the problem, but I actually prefer
this version so I'm going to keep this.
2026-01-18 09:30:49 +10:00
David Reid d043ce61b3 Merge branch 'dev' into dev-0.12 2026-01-18 06:06:51 +10:00
David Reid 13d161bc8d Update split version. 2026-01-18 06:05:35 +10:00
David Reid df405b1fb7 PipeWire: Fix a crash in device enumeration. 2026-01-17 20:30:05 +10:00
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 72ed924fb5 PipeWire: Make native data format detection more specific. 2026-01-16 15:08:57 +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 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 e5743d666c SDL2: Improve Emscripten support by limiting the period size.
Setting the period size to something too small results in glitching so
this commit will clamp it to a minimum size on the Emscripten build.
2026-01-13 13:03:15 +10:00
David Reid 629e751d56 Fix the SDL2 backend for Emscripten. 2026-01-13 12:56:07 +10:00
David Reid 1adad94ef8 Try fixing the Emscripten build. 2026-01-12 19:51:40 +10:00
David Reid cd521f9440 Comment out a printf() debugging statement. 2026-01-12 17:45:48 +10:00
David Reid 628f2c1640 Add a debugging VFS. 2026-01-12 17:29:18 +10:00
David Reid ca6361db5e PipeWire: Fix a bug with channel map negotiation. 2026-01-07 16:57:31 +10:00
David Reid 3b0391ad44 Silence an assigned-but-not-used warning. 2026-01-07 16:43:49 +10:00
David Reid 86d5f669e4 PipeWire: Comment out an unused function. 2026-01-07 11:10:21 +10:00
David Reid 882d7329f9 Add getter functions for backend vtables. 2026-01-07 09:22:43 +10:00
David Reid f3dfc97c2c Fix a format selection bug in the PipeWire backend.
This was incorrectly choosing the wrong endian-specific sample format
when the endian.h header was not included. This commit switches to
runtime endian detection.
2026-01-05 20:18:35 +10:00
David Reid bfe4b07da4 PipeWire: Fix some warnings. 2026-01-05 14:44:57 +10:00
David Reid 4e827fa977 Use consistent nomenclature for device backend wakeup callbacks.
It should be "wakeup" instead of "wake".
2026-01-05 06:05:17 +10:00
David Reid 44b39fe097 Rename SDL2 backend source files. 2026-01-03 13:56:40 +10:00
David Reid 3df99ce51d Rename the SDL backend to SDL2.
This distinction is needed because we'll be doing an SDL3 backend in the
future.
2026-01-03 13:50:48 +10:00
David Reid ce41f6cfc9 SDL2: Fix a compilation error due.
This is due to calling an internal miniaudio function.
2026-01-02 14:14:10 +10:00
David Reid da764a5a28 PipeWire: Fix an error when runtime linking is disabled. 2026-01-02 12:34:42 +10:00
David Reid e9fad62f44 Improve default device enumeration with the SDL2 backend. 2026-01-01 19:36:37 +10:00
David Reid edc44cbcaa PipeWire: Optimization to multi-threaded mode. 2026-01-01 09:38:21 +10:00
David Reid 552cf613b3 PipeWire: Add support for disabling runtime linking. 2025-12-31 18:19:52 +10:00
David Reid 114b9594c1 PipeWire: Finish work on removing the SPA dependency. 2025-12-31 18:18:17 +10:00
David Reid e1dfc9d77f PipeWire: Remove dependency on spa_format_audio_raw_parse(). 2025-12-31 13:30:49 +10:00
David Reid d2a93567df PipeWire: Remove dependency on spa_pod_builder. 2025-12-31 09:04:00 +10:00
David Reid c67b29de38 PipeWire: More work on removing the SPA dependency. 2025-12-30 18:00:07 +10:00
David Reid 9ebc3efa95 PipeWire: First tentative step towards removing the SPA dependency. 2025-12-30 16:40:16 +10:00
David Reid f073a40a1c Fix some warnings for the PipeWire backend. 2025-12-30 10:18:56 +10:00
David Reid fa2c1b49b3 Remove unused callbacks from the device backend system. 2025-12-29 18:02:51 +10:00
David Reid fd6ee4711b Generalize some backend stepping logic for the new backend architecture. 2025-12-22 17:10:03 +10:00