Hi all,
This may seem something of a controversial question, but I am concerned
that FAudio is not a good fit for Wine, mainly because of its licensing
considerations.
Recently I found a bug in FAudio wherein it does not properly handle
unaligned buffers. While in the process of drafting a fix, I was stymied
multiple times by its rather broken resampler, and when I sought to try
to fix that, I found that it was a rather difficult endeavour, which led
me to propose replacing it with an external library such as GStreamer.
Unfortunately FAudio cannot, counterintuitively, link to LGPL code,
because it needs to be able to run on embedded platforms, which (for
reasons I do not understand) cannot ship any LGPL code.
While I can to some degree respect the decision of FAudio to target
platforms that forbid copyleft licensing, I do not think this aligns
well with the interests of the Wine project—a project which specifically
chose copyleft licensing. More personally, I do not want to have to fix
the FAudio resampler or implement another resampler with a non-copyleft
license (and I am not even particularly sure that I can, given my
familiarity with resamplers in LGPL projects such as GStreamer and Wine).
Besides this, it is probably worth noting that we do not seem to gain
much from continuing to rely on FAudio. There would be the usual benefit
of relying on upstream development, but development on FAudio seems very
scarce, especially when restricted to parts relevant to Wine, and much
of that is from Wine contributors anyway. (And, of course, due to our
bundling practices, there is hardly the usual benefit of size or
modularity in linking to external libraries.)
Of course we would be well served by simply importing the current
version of FAudio; I do not mean to propose that we reimplement XAudio
entirely, but rather begin to modify it in ways that would not be
acceptable upstream.
This would mean replacing the resampler, as well as perhaps also the
mixer, and probably with the ones from GStreamer, which is already a
dependency of ours, and which has a very featureful resampler and mixer,
and a much higher rate of development overall.
Do others in the Wine community have thoughts or opinions on this matter?
ἔρρωσθε,
Zeb