Integrating FAudio, a reimplementation of XAudio2

Andrew Eikum aeikum at codeweavers.com
Mon Oct 22 07:18:22 CDT 2018


On Fri, Oct 19, 2018 at 06:09:19PM -0500, Ken Thomases wrote:
> On Oct 19, 2018, at 2:07 PM, Alexandre Julliard <julliard at winehq.org> wrote:
> > 
> > Henri Verbeet <hverbeet at gmail.com> writes:
> > 
> >> On Fri, 19 Oct 2018 at 19:51, Henri Verbeet <hverbeet at gmail.com> wrote:
> >>> I think I missed a step there... why is copying the code into the Wine
> >>> tree a given? Does FNA not provide an API for external users?
> >> Actually, I read over that mail a little to quickly, and missed the
> >> second option, so ignore that reply.
> >> 
> >> Perhaps unsurprisingly, I'm in favour of having FNA be a proper
> >> library with a stable API that Wine can link against like everyone
> >> else.
> > 
> > Yes, clearly this would be the preferred approach.
> 
> Is there any need/desire/benefit for XAudio2 to go through the other Windows audio APIs (e.g. MMDevAPI, WASAPI) for proper integration?  Coherent enumeration of devices?  Audio mixing from different APIs?  Client control of audio devices?  User control via winecfg or the registry?
> 

Yes, we need to use and output through Wine's mmdevapi. There are
cross-API structures that should function (device IDs, default device
selection, global mixer state). I think it wouldn't be hard to provide
user hooks for that functionality in FAudio, like they're working on
for the allocator stuff.

There's code for it at https://github.com/FNA-XNA/FAudio/issues/31 ,
it just needs to be formalized into the FAudio API.

Andrew



More information about the wine-devel mailing list