- Emulation libraries need to be tested with a lot of applications. Many application (ab)use API in different ways that all need to be supported..
- The ALSA plugin is probably quite complete and seems to work with a lot of apps.
- The JACK library is quite complete. The JACK API is not huge but apps still expect certain implementation details that are not documented well (order of callbacks, thread contexts,...)
- PulseAudio in general is a big API with many subtle bugs that will need time to perfect. Some things currently work with the pulseaudio API, others don't. Most apps should be able to produce/consume sound.
- bluetooth is not tested much and might not work very well yet.
- portaudio apps tend to do bad things (audacity) like opening all devices multiple times in all possible formats and configurations to 'probe' the devices. This is quite expensive.
no mixer, unclear how it could make sense.since 0.3.8
- Tested: aplay, vlc, mplayer, sweep, apulse
- no session management API implemented, possibly not important/used.
- internal clients not implemented
- freewheeling not implemented. Since 0.3.7 there is a dummy driver that could be used to implement this later.
- latencies not implemented at all yet
- Tested: ardour5, qjackctl, carla, catia, jack_simple_client, jack-smf-player, xjadeo, qsynth, calfjackhost, ...
move to sink/source is not implementedsince 0.3.7
default source/sink is not implementedsince 0.3.7
volumes are done in software currently, hardware volumes are not touched.since 0.3.7 uses UCM or PulseAudio profile config to implement hardware volume and mute
profiles on devices is not implementedsince 0.3.7 supported with UCM and PulseAudio profile config
time reporting is inaccurate and broken, apps might skip, stutter or hang.better since 0.3.4, firefox youtube works perfect, chrome youtube has trouble,
- extensions are not implemented
- Tested: paplay, pavucontrol, vlc, mplayer, firefox, chrome, webrtc, youtube, spotify
Session manager (pipewire-media-session)
- The default session manager has no configuration options. It performs a hardcoded logic on devices detected by udev. Since 0.3.4 it's however possible to disable some modules.
no support for setup or configuration of devices with UCM or otherwise. All ALSA PCM are simply exposed as is.since 0.3.7 using PulseAudio profile config parser
No mixer support in any way.since 0.3.7 via PulseAudio config parser
- No support for the session-manager API, no Endpoints/Streams.
- Largely untested.
- Flatpaks do not work yet because they ship with an original libpulse library that only knows how to connect to a real pulseaudio server. Work is ongoing to start a stripped down pulseaudio to support this use case.