Commit Graph

14 Commits

Author SHA1 Message Date
David Reid 60d757a226 Return result codes from step/wait/loop callbacks. 2025-12-16 18:08:32 +10:00
David Reid 4f4f93a91b Finish first pass of the PipeWire backend. 2025-12-12 14:39:03 +10:00
David Reid ac7a8e691b Fix C++ build of the PipeWire backend. 2025-11-30 19:46:52 +10:00
David Reid ce6c21fffc Fix some Clang warnings. 2025-08-22 07:09:06 +10:00
David Reid 7263de3b64 Delete the PipeWire test.
The PipeWire backend is now tested with the deviceio test.
2025-08-21 14:18:58 +10:00
David Reid e826957a12 Disable the PipeWire backend when compiling as C89.
The SPA headers are not compatible with C89 which means the PipeWire
backend is not usable.
2025-08-21 07:33:08 +10:00
David Reid 76e97c6254 PipeWire: Try fixing some compilation errors. 2025-07-22 06:18:46 +10:00
David Reid 276dd4419d Fix some errors with the PipeWire backend. 2025-07-21 16:08:52 +10:00
David Reid de31f9ea49 Fix warnings in the PipeWire backend with GCC. 2025-07-21 14:07:24 +10:00
David Reid fa4107ae95 API CHANGE: Remove the onContextGetDeviceInfo backend callback.
Device information retrieval is now implemented in terms of device
enumeration. Backends should now return any information that would have
been returned from `onContextGetDeviceInfo` straight from
`onContextEnumerateDevices` instead.
2025-07-21 11:47:14 +10:00
David Reid 2b81f75cca API CHANGE: Change return type of device enumeration callback.
The callback passed into `ma_context_enumerate_devices()` would
previously return a boolean, with true telling miniaudio to continue
enumeration, and false to abort. This got a bit confusing to read at
times, so I've decided to make this more explicit.

The new return type is an enum called `ma_device_enumeration_result`.
Instead of returning true to continue enumeration, the new return value
is `MA_DEVICE_ENUMERATION_CONTINUE`. Similarly, instead of returning
false to abort enumeration, `MA_DEVICE_ENUMERATION_ABORT` should be
returned instead.
2025-07-21 11:33:15 +10:00
David Reid 8bb2b1ae80 Update to the PipeWire backend. 2025-07-18 19:16:50 +10:00
David Reid f0ff4b6de3 API CHANGE: Remove ma_performance_profile.
This also removes the `performanceProfile` config option from
`ma_device_config`. Increase the period size if you want to be more
conservative.

Backends that have their own notion of a "latency hint" or the like will
have those options exposed via a backend-specific configuration option.
2025-07-15 14:35:24 +10:00
David Reid ebec10b068 Add early PipeWire backend.
This is incomplete.
2025-07-15 06:59:19 +10:00