PipeWire makes more than one stream the driver at the same time
Qubes OS has a PipeWire module that provides support for Qubes OS’s paravirtual sound protocol. This module provides a capture stream and a playback stream. It currently (as of commit cd160ef3f6483da22a7c492105a68e60cdfdb566) has code to support being a driver, but uses a timer rather than interrupt-based scheduling.
It turns out PipeWire 1.0.0 makes both streams the driver, as reported by pw_stream_is_driving()
! In my case this is harmless as both streams are mostly independent, but in other cases I could see this confusing a module that is not expecting it. Is this a bug in PipeWire, a bug in my code, or something else entirely?