the interfaces are shite, from the same clown who invented systemd
just use one file per stream eg /dev/dsp/pid_tempfile eg /dev/dsp/778_gJG86h, move mix to kernel, give it a /proc interface. the unix way
just use one file per stream eg /dev/dsp/pid_tempfile eg /dev/dsp/778_gJG86h, move mix to kernel, give it a /proc interface. the unix way
The interfaces are absolutely not better, they're a bunch of undocumented C preprocessor macros that hide a pit of complexity and indirection. Pulse is mature enough that you can figure out how to interface with it, pipewire has a handful of examples and some reference documentation that doesn't make sense if you don't already know what you're looking for. Good luck if those examples don't fit nicely into your existing applications' architectures.
Pipewire is very impressive as an achievement, but the work needs to be put in to make it mature enough as a software project (meaning: documentation and well typed interfaces) before existing software can work with it.
The architecture may well be better equipped to provide stable and elegant interfaces to complex media routing problems in application software. But I couldn't tell you if that's true or not, because it's sparsely documented. An undiscoverable API is a nonexistent one.