Have made some progress using wdm ks first with portaudio and now the Direct KS sample It seems that for wavecyclic I don't need to copy data to a device buffer, I just need to pass a pointer to a buffer containing the data to the packet (so can have the data loaded into ram and then just step along the data). Does the driver then load this into a driver side buffer before passing to device via dma ? With this approach I don't need a separate thread so can run in one thread, again improves sq. Also, clients I've seen don't set the Packets[i].Header.PresentationTime.Time, when I set it to increment by the buffer size in 100 ns and set it to a valid time the sound quality is improved, any comments on this ? Would comment that the code design of pa is fairly baroque, which affects the sound quality, so using directks is better, though I'm working to trim this down further. setting create file and pin properties to generic_write for rendering improves the sq using createpin2 improves sq because it requires coinitialise, which seems to have an effect. cheers From: gordik55@xxxxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: wasapi audioclientproperties Date: Thu, 12 Jun 2014 07:20:54 +0000 thanks > Date: Thu, 12 Jun 2014 08:08:10 +0200 > From: robert.bielik@xxxxxxxx > To: wdmaudiodev@xxxxxxxxxxxxx > Subject: [wdmaudiodev] Re: wasapi audioclientproperties > > If you want to, you can use Portaudio (www.portaudio.com) for your audio back > end (I wrote the WaveRT WDM KS part of it). It will always open the output > device with maximum bitdepth so it should fit your bill nicely. > > Regards > /Robert > > Matthew van Eerde skrev 2014-06-11 22:21: > > There are two ways* to stream via DirectKS: “standard streaming” and > > “standard looped streaming”. > > > > > > > > The DirectKS sample only shows how to do “standard streaming”. > > > > > > > > Later-generation drivers tend to be WinRT miniports; portcls only > > advertises support for “standard looped streaming” on such drivers. Here’s > > a screenshot of KS Studio on hdaudio.sys. > > > > > > > > > > > > The DirectKS sample doesn’t work on such devices. It should continue to > > work (even on Windows 7 or Windows 8) if the driver supports “standard > > streaming”, though. > > > > > > > > To be more specific: > > > > > > > > 1. WaveRT miniports (like the inbox Microsoft HD Audio class driver > > hdaudio.sys) support only “standard looped streaming”. > > > > 2. WaveCyclic miniports support both streaming models. > > > > 3. WavePci miniports support both streaming models. > > > > 4. The inbox Microsoft USB Audio class driver (usbaudio.sys) supports > > only “standard streaming”. > > > > 5. The inbox Microsoft Bluetooth audio class drivers (btha2dp.sys, > > bthhfaud.sys) support only “standard streaming”. > > > > > > > > *OK, there’s a little bit more than two ways. There’s also audio offload, > > and KSPROPSETID_RtAudio, and other complications. But let’s pretend there’s > > only two for now. > > > ****************** > > WDMAUDIODEV addresses: > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx > Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe > Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe > Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx > > URL to WDMAUDIODEV page: > http://www.wdmaudiodev.com/ >