On Tuesday, 2 December 2025 15:14:48 CET Marc-André Lureau wrote:
> On Tue, Dec 2, 2025 at 5:26 PM Geoffrey McRae <[email protected]> wrote:
> > On 2025-12-02 23:44, Marc-André Lureau wrote:
> > > Hi Geoffrey
> > > 
> > > On Tue, Dec 2, 2025 at 4:31 PM Geoffrey McRae
> > > 
> > > <[email protected]> wrote:
> > >> The PipeWire and PulseAudio backends are used by a large number of
> > >> users
> > >> in the VFIO community. Removing these would be an enormous determent
> > >> to
> > >> QEMU.
> > > 
> > > They come with GStreamer pulse/pipe elements.
> > 
> > Yes, but through another layer of abstraction/complexity with no real
> > benefit.
> 
> The benefit is that QEMU would not have to maintain 10 backends and
> all the audio mixing/resampling. The QEMU code would be simpler and
> more maintainable overall. GStreamer has a clear pipeline design,
> better suited (optimized code etc) and you can easily modify the
> pipeline settings.

Nobody questions that it could reduce QEMU code. But it would move complexity 
to users by forcing them to add another layer. Many sound systems allow to be 
layered on top of other sound systems for a long time. But even only one 
additional layer can make it very challenging to find out why you end up with 
a certain undesired setup like unexpected sample rate or bit depth (wrong USB 
profile chosen of external audio device during USB enumeration? some default 
plugin or mixer element of a layer doing resampling?), high latency 
(additional buffers with higher size on some layer? where and why?) or even 
xruns.

/Christian



Reply via email to