[pulseaudio-discuss] Can pulsaudio client API become a crossplatform standard ?

Enrico Weigelt, metux IT consult enrico.weigelt at gr13.net
Sat Apr 15 13:28:29 UTC 2017


Hi folks,


I'm just wondering whether something like PA's client API could
ever become a real crossplatform standard API.

The problem behind is there're tons of audio APIs - most of them
doing more or less the same. So application developers have a hard
time picking the right one, and dist maintainers have to put everything
together in a way that their users are happy with that.

Obviously, one complete audio system that rules 'em all won't work.
Far too complex, and the requirements and wishes of all the developers
and users out there are just too different.

But, maybe we could settle to some common API (and later ABIs),
which only sets the interface to the client application - isolating
questions which daemon (if any at all), etc.

For that to work, we'd need to give the API it's own life and have
potentially many different implementations of that API. Something
like POSIX for audio :o

* have a official specification, which must be strict and precise
  (the current docs are good for application developers but far
  from a complete spec).
* a separate API package that only contain the public interface
  (basicly, just some headers - a bit like the xorg-proto-* packages),
  which applications as well as implementations import
* a compatiblity testsuite, which any implementation could be validated
  against
* the first implementation, of course, would be PA itself, but others
  are free to provide their own ones (maybe somebody wants an thin
  one that directly bridges to platform API - eg. in embedded world)
* from that point on, most applications (that don't have special
  requirement that need something like eg. jack, etc) could directly
  sit ontop of that API (instead of carrying around additional
  adaption layers and possibly platform specific code), while dist
  maintainers and sysops are free to choose whatever implementation
  they really want in their particular usecase.


What do you think about that ?


--mtx


More information about the pulseaudio-discuss mailing list