JACK driver for WINE

Andrew Eikum aeikum at codeweavers.com
Wed Aug 23 09:42:25 CDT 2017


On Fri, Aug 18, 2017 at 02:07:29PM -0600, Jeremy Banks wrote:
> I noticed those .spec files in the driver sources. I've been trying to put
> together a mental model of how the drivers in Wine work. I noticed the first
> function on each line wasn't in the driver source file, but often the 2nd
> function was (though the ones in the MMDevAPI section do have nigh-identical
> names). Do I correctly understand that for a line in the .spec file, the
> first function listed is the function that will be called by MMDevAPi or the
> application, and the second one is the function that the former will be
> translated to? Do I correctly understand that the driver files thus contain
> the translated function calls, plus any additional necessary support
> functions and data structure needed for getting data to and from the audio
> system in question?
> 

Right. Our mmdevapi loads functions from the drivers and calls them to
do stuff like determine which driver to use, and to create the
IMMDevice and IAudioClient objects.

> It occurs to me that since Wine interfaces with Windows applications, I
> might want to study the documentation for the Windows sound and driver APIs.
> Is this a correct assumption, or is this not particularly necessary in this
> case?
> 

Yes, you'll need to understand the APIs that you will be implementing.
You don't need to dig into Windows DDK stuff, our drivers operate at a
higher level than that.  MSDN's mmdevapi docs are pretty good, and you
can always reference the other Wine drivers to see how they implement
the functions.

Andrew



More information about the wine-devel mailing list