--_004_29fd5b6aa166408ebc9f23ea1a603408BLUPR03MB033namprd03pro_ Content-Type: multipart/alternative; boundary="_000_29fd5b6aa166408ebc9f23ea1a603408BLUPR03MB033namprd03pro_" --_000_29fd5b6aa166408ebc9f23ea1a603408BLUPR03MB033namprd03pro_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > The WASAPI app is querying the property store with PKEY_AudioEngine_Devic= eFormat to check for the 'native' format. This entry appears to not be crea= ted until (at least) the device is queried using the Sound applet >> Advanc= ed Properties tab. An app can force this property into existence by calling IAudioClient::GetM= ixFormat(). From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@freelists= .org] On Behalf Of Jerry Evans Sent: Thursday, February 13, 2014 2:03 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits? Hello Matthew Update: Using an absolutely minimal exclusive WASAPI capture app on W7x64 I= am getting 48 channels of 48K/16bit audio. Which is great. The recorded au= dio is a bit perfect pattern of the 16bit samples originating in the device= firmware. For anyone else who may visit here: The firmware channel mask is set to 0, as is the mask in the WAVEFORMATEXTE= NSIBLE used to query the supported formats. The WASAPI app is querying the property store with PKEY_AudioEngine_DeviceF= ormat to check for the 'native' format. This entry appears to not be create= d until (at least) the device is queried using the Sound applet >> Advanced Properties tab. Many thanks for the help. Now. What about USB Audio 2 class support? Cheers! From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@freelists.= org> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eer= de Sent: 07 February 2014 21:48 To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits? I would expect an app to always be able to use 0, whether the hardware is 0= or not. I would expect an app to always be able to use the hardware value, whether = it was 0 or not. I would not expect an app to ever be able to use a non-zero value which doe= s not match the hardware. If the number of channels is more than... oh, say, 8... then I would expect= the value to always be 0. From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@freelists.= org> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jerry Evans Sent: Friday, February 7, 2014 1:38 PM To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits? Matthew, indeed. Thanks. I will try this next roll. Is your expectation that masks must match? The 1.0 spec we get "If none of the bits in wChannelConfigare set, then all= channels have non-predefined spatial positions." (3.7.2.3). We can source = more than 16 bits worth of channels so I cannot see this field can used use= d in any meaningful way (?) From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@freelists.= org> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eer= de Sent: 07 February 2014 21:07 To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits? It's probably possible to set a breakpoint in IAudioClient::IsFormatSupport= ed, but let's not go there yet. If you set the channel mask to 0x60f in firmware, I would expect both 0x0 a= nd 0x60f to work in the WAVEFORMATEXTENSIBLE. Let me know if that's not the= case. On your device, what do you get for the following? IAudioClient::GetMixFormat() IAudioClient::IsFormatSupported(x, y) x in { AUDCLNT_SHAREMODE_EXCLUSIVE, AUDCLNT_SHAREMODE_SHARED } y in { 2-channel, 6-channel w/ channel mask =3D 0, 6-channel w/ channel mas= k =3D 0x3f, 6-channel w/ channel mask =3D 0x60f } From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@freelists.= org> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jerry Evans Sent: Friday, February 7, 2014 12:02 PM To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits? Hi Matthew The wchannelMask is clearly having more impact than I expected. If I set a channel mask of 0x00 in device firmware and ensure channel mask = in WAVEFORMATEXTENSIBLE is also zero , I can record data correctly using WA= SAPI exclusive mode via the Portaudio libraries. I am getting data as expec= ted, which is good. Question arising are: If one calls IAudioClient::IsFormatSupported() to check the device's native= format using a WAVEFORMATEXTENSIBLE struct where the channel mask does *no= t* match that of the device, will this return a 'format not supported' erro= r? An well-known audio recording app is failing with the device, whilst others= work as expected with WASAPI mode. Is there any way I can determine if (an= d what) channel mask it uses when checking in with the audi engine? Is ther= e any ETW style log data? Or a KS spy? Thanks. From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@freelists.= org> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eer= de Sent: 06 February 2014 19:35 To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits? Nitpick: you probably want 0x60f instead of 0x3f or 0; that is, you want si= de speakers rather than rear speakers or a "direct out" channel mask. To try instantiating a pin in KS Studio, instantiate the filter first, then= right-click the streaming pin factory and choose "Instantiate." You will t= hen be able to enter all the parameters to KsCreatePin. [cid:image001.png@01CF2853.D030F620] The speaker configuration wizard in the Sound control panel doesn't affect = KS Studio; it just tells the Windows audio engine what to pass to KsCreateP= in. From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@freelists.= org> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jerry Evans Sent: Thursday, February 6, 2014 11:22 AM To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits? Matthew, a little more exploration and things get more puzzling. For refere= nce I'm using the cross paltform Portaudio library with exclusive WASAPI mo= de as we also have to test this stuff on a Mac. 1. Configure as 2 channel device, all is good. Device is enumerated c= orrectly, stream precisely the sample pattern we have loaded into firmware.= Channel mask is 0 2. Configure as 6 channel device, WASAPI baulks claiming sample forma= t not supported etc (can send you more detail if interested) 3. Configure as 6 channel device with channel mask set to 0x3F, c. What Is even stranger is that if I run up Audacity (cross-platform audio ed= itor) the device does not appear if WASAPI mode is selected. It *does* appe= ar if DirectSound is specified as the audio engine. And to put things right= out there into the twilight zone, for DirectSound reverse the outcomes for= configurations 2 and 3 - i.e. DirectSound mode streams zeroes if, and only= if, the channel mask is set to zero. Thoughts? Many thanks. KS Studio spew follows for 6 channel mode, apparently identical if channelm= ask is set to 0x00 or to 0x3F. ( I'm unsure if the failed queries are an issue. Precisely the same is repo= rted when I instantiate a filter for an M-Audio PCI soundcard and others): ------------------------------ Instantiating Filter: "Chordia 6CH" ------------------------------ Profiling filter "\\?\usb#vid_face&pid_0646&mi_00#8&3864bd55&0&0000#{6994ad= 04-93ef-11d0-a3cc-00a0c9223196}\global<file:///\\%3f\usb%23vid_face&pid_064= 6&mi_00%238&3864bd55&0&0000%23%7b6994ad04-93ef-11d0-a3cc-00a0c9223196%7d\gl= obal>" Getting property KSPROPERTY_TYPE_SETSUPPORT: Filter Property set supported: {c3fa16d7-274e-4f2b-a63b-d5e10955fa27} KSPROPSETID_Pin KSPROPSETID_Audio KSPROPSETID_Topology KSPROPSETID_General {a60d8368-5324-4893-b020-c431a50bcbe3} Getting event KSEVENT_TYPE_SETSUPPORT: Filter Event set supported: Getting property KSPROPERTY_PIN_CTYPES Getting property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_CATEGORIES Getting property KSPROPERTY_TOPOLOGY_CATEGORIES Got KSPROPERTY_TOPOLOGY_CATEGORIES: Getting property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_NODES Getting property KSPROPERTY_TOPOLOGY_NODES Got KSPROPERTY_TOPOLOGY_NODES: Getting property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_CONNECTIONS Getting property KSPROPERTY_TOPOLOGY_CONNECTIONS Got KSPROPERTY_TOPOLOGY_CONNECTIONS: Getting property KSPROPERTY_TOPOLOGY_NAME Got KSPROPERTY_TOPOLOGY_NAME: Getting property KSPROPERTY_TOPOLOGY_NAME Got KSPROPERTY_TOPOLOGY_NAME: SyncGetSupportedPropertySets: size query failed Warning: QueryPropSetSupport failed for node 0. Defaulting to "supported = propertyset" array from filter SyncGetSupportedEventSets: size query failed Warning: QueryEventSetSupport failed for node 0. Defaulting to "supported= eventset" array from filter SyncGetSupportedPropertySets: size query failed Warning: QueryPropSetSupport failed for node 1. Defaulting to "supported = propertyset" array from filter SyncGetSupportedEventSets: size query failed Warning: QueryEventSetSupport failed for node 1. Defaulting to "supported= eventset" array from filter PIN [0] (pin 1 of 2) Getting property KSPROPERTY_PIN_INTERFACES Got KSPROPERTY_PIN_INTERFACES: Getting property KSPROPERTY_PIN_MEDIUMS Got KSPROPERTY_PIN_MEDIUMS: Getting property KSPROPERTY_PIN_DATARANGES Got KSPROPERTY_PIN_DATARANGES: Getting property KSPROPERTY_PIN_CONSTRAINEDDATARANGES Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_CONSTRAINEDDATARANGES Getting property KSPROPERTY_PIN_DATAFLOW Getting property KSPROPERTY_PIN_COMMUNICATION Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_GLOBALCINSTANCES Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_GLOBALCINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Getting property KSPROPERTY_PIN_PHYSICALCONNECTION Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_PHYSICALCONNECTION Getting property KSPROPERTY_PIN_CATEGORY Getting property KSPROPERTY_PIN_NAME Got KSPROPERTY_PIN_NAME: Getting property KSPROPERTY_JACK_DESCRIPTION Failed to get property KSPROPSETID_Jack.KSPROPERTY_JACK_DESCRIPTION PIN [1] (pin 2 of 2) Getting property KSPROPERTY_PIN_INTERFACES Got KSPROPERTY_PIN_INTERFACES: Getting property KSPROPERTY_PIN_MEDIUMS Got KSPROPERTY_PIN_MEDIUMS: Getting property KSPROPERTY_PIN_DATARANGES Got KSPROPERTY_PIN_DATARANGES: Getting property KSPROPERTY_PIN_CONSTRAINEDDATARANGES Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_CONSTRAINEDDATARANGES Getting property KSPROPERTY_PIN_DATAFLOW Getting property KSPROPERTY_PIN_COMMUNICATION Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_GLOBALCINSTANCES Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_GLOBALCINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Getting property KSPROPERTY_PIN_PHYSICALCONNECTION Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_PHYSICALCONNECTION Getting property KSPROPERTY_PIN_CATEGORY Getting property KSPROPERTY_PIN_NAME Got KSPROPERTY_PIN_NAME: Getting property KSPROPERTY_JACK_DESCRIPTION Failed to get property KSPROPSETID_Jack.KSPROPERTY_JACK_DESCRIPTION Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Node (0) KSNODETYPE_ADC (ADC) Supported PropertySets: KSStudio does not recognize PropertySet GUID {c3fa16d7-274= e-4f2b-a63b-d5e10955fa27} supported on Node 0 This is not a driver bug. Filter reports support for PropertySet KSPROPSETID_Pin on node 0 Filter reports support for PropertySet KSPROPSETID_Audio on node 0 Filter reports support for PropertySet KSPROPSETID_Topology on node= 0 Filter reports support for PropertySet KSPROPSETID_General on node = 0 KSStudio does not recognize PropertySet GUID {a60d8368-532= 4-4893-b020-c431a50bcbe3} supported on Node 0 This is not a driver bug. Supported EventSets: Node (1) KSNODETYPE_SRC (Sample Rate Converter) Supported PropertySets: KSStudio does not recognize PropertySet GUID {c3fa16d7-274= e-4f2b-a63b-d5e10955fa27} supported on Node 1 This is not a driver bug. Filter reports support for PropertySet KSPROPSETID_Pin on node 1 Filter reports support for PropertySet KSPROPSETID_Audio on node 1 Filter reports support for PropertySet KSPROPSETID_Topology on node= 1 Filter reports support for PropertySet KSPROPSETID_General on node = 1 KSStudio does not recognize PropertySet GUID {a60d8368-532= 4-4893-b020-c431a50bcbe3} supported on Node 1 This is not a driver bug. Supported EventSets: Misc. Supported PropertySets KSStudio does not recognize PropertySet GUID {c3fa16d7-274= e-4f2b-a63b-d5e10955fa27} supported by the filter This is not a driver bug. Filter reports support for PropertySet KSPROPSETID_Audio Filter reports the following support for Property KSPROPERTY_AUDIO_= MIC_ARRAY_GEOMETRY: 0x00000001 { KSPROPERTY_TYPE_GET} Getting property KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY get failed Filter reports support for PropertySet KSPROPSETID_General Filter reports the following support for Property KSPROPERTY_GENERA= L_COMPONENTID: 0x00000001 { KSPROPERTY_TYPE_GET} Getting property KSPROPERTY_GENERAL_COMPONENTID KSStudio does not recognize PropertySet GUID {a60d8368-532= 4-4893-b020-c431a50bcbe3} supported by the filter This is not a driver bug. From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@freelists.= org> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eer= de Sent: 05 February 2014 19:11 To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits? Well, let's see... You can use KS Studio to validate directly that instantiating a pin with a = (say) 40-channel WAVEFORMATEX works. If your data ranges advertise only a (say) 40-channel format, then I would = expect shared-mode capture not to work at all, since Windows has no idea ho= w to downmix 40 channels without a channel mask to, e.g., mono. Whether exc= lusive-mode capture should work in this situation is less clear. If you advertise both a (say) 2-channel format and a 40-channel format, the= n I would expect shared-mode capture to work (in 2-channel mode) and I woul= d also expect exclusive-mode capture to work in both 2-channel mode and 40-= channel mode (with a zero channel mask.) If that is not the case I would op= en a support ticket on http://support.microsoft.com/ since there's likely a= bug in the capture stack. It would be helpful to know what function was failing (e.g., IAudioClient::= IsFormatSupported(AUDCLNT_SHAREMODE_EXCLUSIVE, ...)) as well as the specifi= c HRESULT that was being returned. From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@freelists.= org> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jerry Evans Sent: Wednesday, February 5, 2014 10:55 AM To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits? Yes. It is odd. The descriptors all appear valid. Can I infer there are no explicit limitations in the stack? This is possibl= y not a show stopper as 32+ channels is a large number in most practical co= ntexts. However, and annoyingly, the audio system for another well-known pr= oprietary OS seems happy to allow us to stream 80 channels ... Thanks and any other suggestions welcomed. From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@freelists.= org> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eer= de Sent: 05 February 2014 18:36 To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits? The "channel mask" section of a WAVEFORMATEXTENSIBLE is a 32-bit number. Pe= rhaps you're tripping some wave format validation that assumes a valid WAVE= FORMATEX only ever has fewer than 32 channels. (This sounds like a bug to m= e, since a channel mask of zero is always valid.) From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@freelists.= org> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jerry Evans Sent: Wednesday, February 5, 2014 10:27 AM To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] USB Audio/WASAPI channel limits? Greetings. I'm developing a USB2 input only audio device that exposes a large (N >=3D = 24) number of channels. The device is recognized and streams correctly on W7x64 at up to 32 channel= s, 48K sample rate and both 16 and 24 bit sample sizes. Data is recorded ac= curately using various commercial WASAPI hosts (Sonar/Tracktion) Windows, however, appears to baulk at any larger channel count. The various= USB tracers (both stack and wire) show Windows sending a QUERY_CAPABILITIE= S every second or so when device is configured with 32 channels. Anything a= bove that and zero action. Is there some hard limit or have I missed something? Cheers. Jerry --_000_29fd5b6aa166408ebc9f23ea1a603408BLUPR03MB033namprd03pro_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml"; xmlns=3D"http:= //www.w3.org/TR/REC-html40"> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"= > <meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)"> <!--[if !mso]><style>v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style><![endif]--><style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:11.0pt; font-family:"Calibri","sans-serif";} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;} p.MsoAcetate, li.MsoAcetate, div.MsoAcetate {mso-style-priority:99; mso-style-link:"Balloon Text Char"; margin:0in; margin-bottom:.0001pt; font-size:8.0pt; font-family:"Tahoma","sans-serif";} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph {mso-style-priority:34; margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:.5in; margin-bottom:.0001pt; font-size:11.0pt; font-family:"Calibri","sans-serif";} span.BalloonTextChar {mso-style-name:"Balloon Text Char"; mso-style-priority:99; mso-style-link:"Balloon Text"; font-family:"Tahoma","sans-serif";} span.EmailStyle20 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:windowtext;} span.EmailStyle21 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle22 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle23 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle24 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:windowtext;} span.EmailStyle25 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle26 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle27 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle28 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle29 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle30 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle31 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle32 {mso-style-type:personal-reply; font-family:"Calibri","sans-serif"; color:#1F497D;} .MsoChpDefault {mso-style-type:export-only; font-size:10.0pt;} @page WordSection1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--> </head> <body lang=3D"EN-US" link=3D"blue" vlink=3D"purple"> <div class=3D"WordSection1"> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">> </span><span lang= =3D"EN-GB" style=3D"color:#1F497D">The WASAPI app is querying the property = store with PKEY_AudioEngine_DeviceFormat to check for the ‘nativeR= 17; format. This entry appears to not be created until (at least) the device is queried using the Sound applet >> Advanced = Properties tab.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">An app can force this = property into existence by calling IAudioClient::GetMixFormat().<o:p></o:p>= </span></p> <p class=3D"MsoNormal"><a name=3D"_MailEndCompose"><span style=3D"color:#1F= 497D"><o:p> </o:p></span></a></p> <div> <div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b>From:</b> wdmaudiodev-bounce@xxxxxxxxxxxxx [mailt= o:wdmaudiodev-bounce@xxxxxxxxxxxxx] <b>On Behalf Of </b>Jerry Evans<br> <b>Sent:</b> Thursday, February 13, 2014 2:03 AM<br> <b>To:</b> wdmaudiodev@xxxxxxxxxxxxx<br> <b>Subject:</b> [wdmaudiodev] Re: USB Audio/WASAPI channel limits?<o:p></o:= p></p> </div> </div> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Hello M= atthew<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Update:= Using an absolutely minimal exclusive WASAPI capture app on W7x64 I am get= ting 48 channels of 48K/16bit audio. Which is great. The recorded audio is = a bit perfect pattern of the 16bit samples originating in the device firmware.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">For any= one else who may visit here:<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">The fir= mware channel mask is set to 0, as is the mask in the WAVEFORMATEXTENSIBLE = used to query the supported formats.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">The WAS= API app is querying the property store with PKEY_AudioEngine_DeviceFormat t= o check for the ‘native’ format. This entry appears to not be c= reated until (at least) the device is queried using the Sound <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">applet = >> Advanced Properties tab.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Many th= anks for the help.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Now. Wh= at about USB Audio 2 class support?<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Cheers!= <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <div> <div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:"= ;Tahoma","sans-serif"">From:</span></b><span style=3D"font-s= ize:10.0pt;font-family:"Tahoma","sans-serif""> <a href=3D"mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx";>wdmaudiodev-bounce@free= lists.org</a> [<a href=3D"mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx";>mailto:w= dmaudiodev-bounce@xxxxxxxxxxxxx</a>] <b>On Behalf Of </b>Matthew van Eerde<br> <b>Sent:</b> 07 February 2014 21:48<br> <b>To:</b> <a href=3D"mailto:wdmaudiodev@xxxxxxxxxxxxx";>wdmaudiodev@freelis= ts.org</a><br> <b>Subject:</b> [wdmaudiodev] Re: USB Audio/WASAPI channel limits?<o:p></o:= p></span></p> </div> </div> <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">I would expect an app = to always be able to use 0, whether the hardware is 0 or not.<o:p></o:p></s= pan></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">I would expect an app = to always be able to use the hardware value, whether it was 0 or not.<o:p><= /o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">I would not expect an = app to ever be able to use a non-zero value which does not match the hardwa= re.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">If the number of chann= els is more than… oh, say, 8… then I would expect the value to = always be 0.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <div> <div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b>From:</b> <a href=3D"mailto:wdmaudiodev-bounce@fr= eelists.org"> wdmaudiodev-bounce@xxxxxxxxxxxxx</a> [<a href=3D"mailto:wdmaudiodev-bounce@= freelists.org">mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx</a>] <b>On Behalf Of </b>Jerry Evans<br> <b>Sent:</b> Friday, February 7, 2014 1:38 PM<br> <b>To:</b> <a href=3D"mailto:wdmaudiodev@xxxxxxxxxxxxx";>wdmaudiodev@freelis= ts.org</a><br> <b>Subject:</b> [wdmaudiodev] Re: USB Audio/WASAPI channel limits?<o:p></o:= p></p> </div> </div> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Matthew= , indeed. Thanks.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">I will = try this next roll. Is your expectation that masks must match?<o:p></o:p></= span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">The 1.0= spec we get “If none of the bits in wChannelConfigare set, then all = channels have non-predefined spatial positions.” (3.7.2.3). We can so= urce more than 16 bits worth of channels so I cannot see this field can used used in any meaningful way (?)<o:p></o:p></span></= p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <div> <div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:"= ;Tahoma","sans-serif"">From:</span></b><span style=3D"font-s= ize:10.0pt;font-family:"Tahoma","sans-serif""> </span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev-bounce@freelists.= org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Tahom= a","sans-serif"">wdmaudiodev-bounce@xxxxxxxxxxxxx</span></a>= </span><span style=3D"font-size:10.0pt;font-family:"Tahoma","= ;sans-serif""> [</span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev-bounce@freelist= s.org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Tah= oma","sans-serif"">mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx</= span></a></span><span style=3D"font-size:10.0pt;font-family:"Tahoma&qu= ot;,"sans-serif"">] <b>On Behalf Of </b>Matthew van Eerde<br> <b>Sent:</b> 07 February 2014 21:07<br> <b>To:</b> </span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev@freeli= sts.org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"T= ahoma","sans-serif"">wdmaudiodev@xxxxxxxxxxxxx</span></a></s= pan><span style=3D"font-size:10.0pt;font-family:"Tahoma","sa= ns-serif""><br> <b>Subject:</b> [wdmaudiodev] Re: USB Audio/WASAPI channel limits?<o:p></o:= p></span></p> </div> </div> <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">It’s probably po= ssible to set a breakpoint in IAudioClient::IsFormatSupported, but let̵= 7;s not go there yet.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">If you set the channel= mask to 0x60f in firmware, I would expect both 0x0 and 0x60f to work in th= e WAVEFORMATEXTENSIBLE. Let me know if that’s not the case.<o:p></o:p= ></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">On your device, what d= o you get for the following?<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">IAudioClient::GetMixFo= rmat()<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">IAudioClient::IsFormat= Supported(x, y)<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">x in { AUDCLNT_SHAREMO= DE_EXCLUSIVE, AUDCLNT_SHAREMODE_SHARED }<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">y in { 2-channel, 6-ch= annel w/ channel mask =3D 0, 6-channel w/ channel mask =3D 0x3f, 6-channel = w/ channel mask =3D 0x60f }<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <div> <div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b>From:</b> <span lang=3D"EN-GB"><a href=3D"mailto:= wdmaudiodev-bounce@xxxxxxxxxxxxx"><span lang=3D"EN-US">wdmaudiodev-bounce@f= reelists.org</span></a></span> [<span lang=3D"EN-GB"><a href=3D"mailto:wdma= udiodev-bounce@xxxxxxxxxxxxx"><span lang=3D"EN-US">mailto:wdmaudiodev-bounc= e@xxxxxxxxxxxxx</span></a></span>] <b>On Behalf Of </b>Jerry Evans<br> <b>Sent:</b> Friday, February 7, 2014 12:02 PM<br> <b>To:</b> <span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev@xxxxxxxxxxxxx= "><span lang=3D"EN-US">wdmaudiodev@xxxxxxxxxxxxx</span></a></span><br> <b>Subject:</b> [wdmaudiodev] Re: USB Audio/WASAPI channel limits?<o:p></o:= p></p> </div> </div> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Hi Matt= hew<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">The wch= annelMask is clearly having more impact than I expected. <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">If I se= t a channel mask of 0x00 in device firmware and ensure channel mask in WAVE= FORMATEXTENSIBLE is also zero , I can record data correctly using WASAPI ex= clusive mode via the Portaudio libraries. I am getting data as expected, which is good.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Questio= n arising are: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">If one = calls IAudioClient::IsFormatSupported() to check the device’s native = format using a WAVEFORMATEXTENSIBLE struct where the channel mask does *<b>= not</b>* match that of the device, will this return a ‘format not supported’ error?<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">An well= -known audio recording app is failing with the device, whilst others work a= s expected with WASAPI mode. Is there any way I can determine if (and what)= channel mask it uses when checking in with the audi engine? Is there any ETW style log data? Or a KS spy?<o:p></= o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Thanks.= <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <div> <div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:"= ;Tahoma","sans-serif"">From:</span></b><span style=3D"font-s= ize:10.0pt;font-family:"Tahoma","sans-serif""> </span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev-bounce@freelists.= org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Tahom= a","sans-serif"">wdmaudiodev-bounce@xxxxxxxxxxxxx</span></a>= </span><span style=3D"font-size:10.0pt;font-family:"Tahoma","= ;sans-serif""> [</span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev-bounce@freelist= s.org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Tah= oma","sans-serif"">mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx</= span></a></span><span style=3D"font-size:10.0pt;font-family:"Tahoma&qu= ot;,"sans-serif"">] <b>On Behalf Of </b>Matthew van Eerde<br> <b>Sent:</b> 06 February 2014 19:35<br> <b>To:</b> </span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev@freeli= sts.org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"T= ahoma","sans-serif"">wdmaudiodev@xxxxxxxxxxxxx</span></a></s= pan><span style=3D"font-size:10.0pt;font-family:"Tahoma","sa= ns-serif""><br> <b>Subject:</b> [wdmaudiodev] Re: USB Audio/WASAPI channel limits?<o:p></o:= p></span></p> </div> </div> <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">Nitpick: you probably = want 0x60f instead of 0x3f or 0; that is, you want side speakers rather tha= n rear speakers or a “direct out” channel mask.<o:p></o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">To try instantiating a= pin in KS Studio, instantiate the filter first, then right-click the strea= ming pin factory and choose “Instantiate.” You will then be abl= e to enter all the parameters to KsCreatePin.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><img bo= rder=3D"0" width=3D"710" height=3D"355" id=3D"_x0000_i1029" src=3D"cid:imag= e001.png@01CF289F.EC79F380" alt=3D"cid:image001.png@01CF2853.D030F620"></sp= an><span style=3D"color:#1F497D"><o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">The speaker configurat= ion wizard in the Sound control panel doesn’t affect KS Studio; it ju= st tells the Windows audio engine what to pass to KsCreatePin.<o:p></o:p></= span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <div> <div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b>From:</b> <span lang=3D"EN-GB"><a href=3D"mailto:= wdmaudiodev-bounce@xxxxxxxxxxxxx"><span lang=3D"EN-US">wdmaudiodev-bounce@f= reelists.org</span></a></span> [<span lang=3D"EN-GB"><a href=3D"mailto:wdma= udiodev-bounce@xxxxxxxxxxxxx"><span lang=3D"EN-US">mailto:wdmaudiodev-bounc= e@xxxxxxxxxxxxx</span></a></span>] <b>On Behalf Of </b>Jerry Evans<br> <b>Sent:</b> Thursday, February 6, 2014 11:22 AM<br> <b>To:</b> <span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev@xxxxxxxxxxxxx= "><span lang=3D"EN-US">wdmaudiodev@xxxxxxxxxxxxx</span></a></span><br> <b>Subject:</b> [wdmaudiodev] Re: USB Audio/WASAPI channel limits?<o:p></o:= p></p> </div> </div> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Matthew= , a little more exploration and things get more puzzling. For reference I&#= 8217;m using the cross paltform Portaudio library with exclusive WASAPI mod= e as we also have to test this stuff on a Mac.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoListParagraph" style=3D"text-indent:-.25in"><span lang=3D"EN= -GB" style=3D"color:#1F497D">1.</span><span lang=3D"EN-GB" style=3D"font-si= ze:7.0pt;font-family:"Times New Roman","serif";color:#1= F497D"> </span><span lang=3D"EN-GB" style=3D"color:#1F497D">Configure as 2 channel = device, all is good. Device is enumerated correctly, stream precisely the s= ample pattern we have loaded into firmware. Channel mask is 0<o:p></o:p></s= pan></p> <p class=3D"MsoListParagraph" style=3D"text-indent:-.25in"><span lang=3D"EN= -GB" style=3D"color:#1F497D">2.</span><span lang=3D"EN-GB" style=3D"font-si= ze:7.0pt;font-family:"Times New Roman","serif";color:#1= F497D"> </span><span lang=3D"EN-GB" style=3D"color:#1F497D">Configure as 6 channel = device, WASAPI baulks claiming sample format not supported etc (can send yo= u more detail if interested)<o:p></o:p></span></p> <p class=3D"MsoListParagraph" style=3D"text-indent:-.25in"><span lang=3D"EN= -GB" style=3D"color:#1F497D">3.</span><span lang=3D"EN-GB" style=3D"font-si= ze:7.0pt;font-family:"Times New Roman","serif";color:#1= F497D"> </span><span lang=3D"EN-GB" style=3D"color:#1F497D">Configure as 6 channel = device with channel mask set to 0x3F, c.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">What Is= even stranger is that if I run up Audacity (cross-platform audio editor) t= he device does not appear if WASAPI mode is selected. It *<b>does</b>* appe= ar if DirectSound is specified as the audio engine. And to put things right out there into the twilight zone, fo= r DirectSound reverse the outcomes for configurations 2 and 3 – i.e. = DirectSound mode streams zeroes if, and only if, the channel mask is set to= zero.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Thought= s?<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Many th= anks.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">KS Stud= io spew follows for 6 channel mode, apparently identical if channelmask is = set to 0x00 or to 0x3F. <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">( IR= 17;m unsure if the failed queries are an issue. Precisely the same is repor= ted when I instantiate a filter for an M-Audio PCI soundcard and others):<o= :p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">-------= -----------------------<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Instant= iating Filter: "Chordia 6CH"<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">-------= -----------------------<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Profili= ng filter "</span><span lang=3D"EN-GB"><a href=3D"file:///\\%3f\usb%23= vid_face&pid_0646&mi_00%238&3864bd55&0&0000%23%7b6994ad= 04-93ef-11d0-a3cc-00a0c9223196%7d\global">\\?\usb#vid_face&pid_0646&= ;mi_00#8&3864bd55&0&0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}= \global</a><span style=3D"color:#1F497D">" <o:p></o:p></span></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Getting= property KSPROPERTY_TYPE_SETSUPPORT:<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Filter = Property set supported:<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; {c3fa16d7-274e-4f2b-a63b-d5e10955fa27} <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; KSPROPSETID_Pin <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; KSPROPSETID_Audio <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; KSPROPSETID_Topology <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; KSPROPSETID_General <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; {a60d8368-5324-4893-b020-c431a50bc= be3} <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Getting= event KSEVENT_TYPE_SETSUPPORT:<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Filter = Event set supported:<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_CTYPES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Getting= property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_CATEGORIES<o:p></o:p></s= pan></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _TOPOLOGY_CATEGORIES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_TOPOLOGY_CAT= EGORIES: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Getting= property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_NODES<o:p></o:p></span><= /p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _TOPOLOGY_NODES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_TOPOLOGY_NOD= ES: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Getting= property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_CONNECTIONS<o:p></o:p></= span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _TOPOLOGY_CONNECTIONS<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_TOPOLOGY_CON= NECTIONS: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_TOPOLOGY_NAME<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_TOPOLOGY_NAM= E: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_TOPOLOGY_NAME<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_TOPOLOGY_NAM= E: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">SyncGet= SupportedPropertySets: size query failed<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Warning= : QueryPropSetSupport failed for node 0. Defaulting to "su= pported propertyset" array from filter<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">SyncGet= SupportedEventSets: size query failed<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Warning= : QueryEventSetSupport failed for node 0. Defaulting to "s= upported eventset" array from filter<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">SyncGet= SupportedPropertySets: size query failed<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Warning= : QueryPropSetSupport failed for node 1. Defaulting to "su= pported propertyset" array from filter<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">SyncGet= SupportedEventSets: size query failed<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Warning= : QueryEventSetSupport failed for node 1. Defaulting to "s= upported eventset" array from filter<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">PIN [0]= (pin 1 of 2)<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_INTERFACES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_PIN_INTERFAC= ES: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_PIN_MEDIUMS<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_PIN_MEDIUMS: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_PIN_DATARANGES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_PIN_DATARANG= ES: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_PIN_CONSTRAINEDDATARANGES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Failed = to get property KSPROPSETID_Pin.KSPROPERTY_PIN_CONSTRAINEDDATARANGES<o:p></= o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_DATAFLOW<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_COMMUNICATION<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_CINSTANCES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_GLOBALCINSTANCES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Failed = to get property KSPROPSETID_Pin.KSPROPERTY_PIN_GLOBALCINSTANCES<o:p></o:p><= /span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_NECESSARYINSTANCES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_PHYSICALCONNECTION<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Failed = to get property KSPROPSETID_Pin.KSPROPERTY_PIN_PHYSICALCONNECTION<o:p></o:p= ></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> = Getting property KSPROPERTY= _PIN_CATEGORY<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_NAME<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_PIN_NAME: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_JACK_DESCRIPTION<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Failed = to get property KSPROPSETID_Jack.KSPROPERTY_JACK_DESCRIPTION<o:p></o:p></sp= an></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">PIN [1]= (pin 2 of 2)<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_INTERFACES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_PIN_INTERFAC= ES: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_PIN_MEDIUMS<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_PIN_MEDIUMS: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_PIN_DATARANGES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_PIN_DATARANG= ES: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_PIN_CONSTRAINEDDATARANGES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Failed = to get property KSPROPSETID_Pin.KSPROPERTY_PIN_CONSTRAINEDDATARANGES<o:p></= o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_DATAFLOW<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_COMMUNICATION<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_CINSTANCES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_GLOBALCINSTANCES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Failed = to get property KSPROPSETID_Pin.KSPROPERTY_PIN_GLOBALCINSTANCES<o:p></o:p><= /span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_NECESSARYINSTANCES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_PHYSICALCONNECTION<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Failed = to get property KSPROPSETID_Pin.KSPROPERTY_PIN_PHYSICALCONNECTION<o:p></o:p= ></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_CATEGORY<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_NAME<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Got KSPROPERTY_PIN_NAME: <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_JACK_DESCRIPTION<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Failed = to get property KSPROPSETID_Jack.KSPROPERTY_JACK_DESCRIPTION<o:p></o:p></sp= an></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_CINSTANCES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_NECESSARYINSTANCES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_CINSTANCES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPROPERTY= _PIN_NECESSARYINSTANCES<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> = Node (0) KSNODETYPE_ADC (ADC)<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Supported PropertySets:<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nb= sp; KSStudio does not recognize PropertySet GUID {c3fa16d7-274e-4f2b-= a63b-d5e10955fa27} supported on Node 0<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nbs= p; &= nbsp; &nbs= p; This is not a driver bug= .<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports support for PropertySet = KSPROPSETID_Pin on node 0<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports support for PropertySet = KSPROPSETID_Audio on node 0<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports support for PropertySet = KSPROPSETID_Topology on node 0<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports support for PropertySet = KSPROPSETID_General on node 0<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nb= sp; KSStudio does not recognize PropertySet GUID {a60d8368-5324-4893-= b020-c431a50bcbe3} supported on Node 0<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nbs= p; &= nbsp; &nbs= p; This is not a driver bug= .<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Supported EventSets:<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> = Node (1) KSNODETYPE_SRC (Sample Rate Converter)<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Supported PropertySets:<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nb= sp; KSStudio does not recognize PropertySet GUID {c3fa16d7-274e-4f2b-= a63b-d5e10955fa27} supported on Node 1<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nbs= p; &= nbsp; &nbs= p; This is not a driver bug= .<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports support for PropertySet = KSPROPSETID_Pin on node 1<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports support for PropertySet = KSPROPSETID_Audio on node 1<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports support for PropertySet = KSPROPSETID_Topology on node 1<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports support for PropertySet = KSPROPSETID_General on node 1<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nb= sp; KSStudio does not recognize PropertySet GUID {a60d8368-5324-4893-= b020-c431a50bcbe3} supported on Node 1<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nbs= p; &= nbsp; &nbs= p; This is not a driver bug= .<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Supported EventSets:<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Misc. S= upported PropertySets<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nb= sp; KSStudio does not recognize PropertySet GUID {c3fa16d7-274e-4f2b-= a63b-d5e10955fa27} supported by the filter<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nbs= p; &= nbsp; &nbs= p; This is not a driver bug= .<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports support for PropertySet = KSPROPSETID_Audio<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports the following support fo= r Property KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY: 0x00000001 { KSPROPERTY_TYP= E_GET} <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_AUDIO_MIC_ARRAY_GEOMETRY<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; KSPROPERTY_AUDIO_MIC_ARRAY_= GEOMETRY get failed<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports support for PropertySet = KSPROPSETID_General<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Filter reports the following support fo= r Property KSPROPERTY_GENERAL_COMPONENTID: 0x00000001 { KSPROPERTY_TYPE_GET= } <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; Getting property KSPRO= PERTY_GENERAL_COMPONENTID<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nb= sp; KSStudio does not recognize PropertySet GUID {a60d8368-5324-4893-= b020-c431a50bcbe3} supported by the filter<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"> &= nbsp; &nbs= p; &= nbsp; &nbs= p; This is not a driver bug= .<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <div> <div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:"= ;Tahoma","sans-serif"">From:</span></b><span style=3D"font-s= ize:10.0pt;font-family:"Tahoma","sans-serif""> </span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev-bounce@freelists.= org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Tahom= a","sans-serif"">wdmaudiodev-bounce@xxxxxxxxxxxxx</span></a>= </span><span style=3D"font-size:10.0pt;font-family:"Tahoma","= ;sans-serif""> [</span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev-bounce@freelist= s.org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Tah= oma","sans-serif"">mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx</= span></a></span><span style=3D"font-size:10.0pt;font-family:"Tahoma&qu= ot;,"sans-serif"">] <b>On Behalf Of </b>Matthew van Eerde<br> <b>Sent:</b> 05 February 2014 19:11<br> <b>To:</b> </span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev@freeli= sts.org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"T= ahoma","sans-serif"">wdmaudiodev@xxxxxxxxxxxxx</span></a></s= pan><span style=3D"font-size:10.0pt;font-family:"Tahoma","sa= ns-serif""><br> <b>Subject:</b> [wdmaudiodev] Re: USB Audio/WASAPI channel limits?<o:p></o:= p></span></p> </div> </div> <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">Well, let’s see&= #8230;<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">You can use KS Studio = to validate directly that instantiating a pin with a (say) 40-channel WAVEF= ORMATEX works.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">If your data ranges ad= vertise only a (say) 40-channel format, then I would expect shared-mode cap= ture not to work at all, since Windows has no idea how to downmix 40 channe= ls without a channel mask to, e.g., mono. Whether exclusive-mode capture should work in this situation is less= clear.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">If you advertise both = a (say) 2-channel format and a 40-channel format, then I would expect share= d-mode capture to work (in 2-channel mode) and I would also expect exclusiv= e-mode capture to work in both 2-channel mode and 40-channel mode (with a zero channel mask.) If that is not the ca= se I would open a support ticket on </span><span lang=3D"EN-GB"><a href=3D"http://support.microsoft.com/";><span= lang=3D"EN-US">http://support.microsoft.com/</span></a><span style=3D"colo= r:#1F497D"> </span></span><span style=3D"color:#1F497D">since there’s likely a bu= g in the capture stack.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">It would be helpful to= know what function was failing (e.g., IAudioClient::IsFormatSupported(AUDC= LNT_SHAREMODE_EXCLUSIVE, …)) as well as the specific HRESULT that was= being returned.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <div> <div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b>From:</b> <span lang=3D"EN-GB"><a href=3D"mailto:= wdmaudiodev-bounce@xxxxxxxxxxxxx"><span lang=3D"EN-US">wdmaudiodev-bounce@f= reelists.org</span></a></span> [<span lang=3D"EN-GB"><a href=3D"mailto:wdma= udiodev-bounce@xxxxxxxxxxxxx"><span lang=3D"EN-US">mailto:wdmaudiodev-bounc= e@xxxxxxxxxxxxx</span></a></span>] <b>On Behalf Of </b>Jerry Evans<br> <b>Sent:</b> Wednesday, February 5, 2014 10:55 AM<br> <b>To:</b> <span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev@xxxxxxxxxxxxx= "><span lang=3D"EN-US">wdmaudiodev@xxxxxxxxxxxxx</span></a></span><br> <b>Subject:</b> [wdmaudiodev] Re: USB Audio/WASAPI channel limits?<o:p></o:= p></p> </div> </div> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Yes. It= is odd. The descriptors all appear valid. <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Can I i= nfer there are no explicit limitations in the stack? This is possibly not a= show stopper as 32+ channels is a large number in most practical conte= xts. However, and annoyingly, the audio system for another well-known proprietary OS seems happy to allow us to stream 80= channels …<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D">Thanks = and any other suggestions welcomed.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"color:#1F497D"><o:p>&n= bsp;</o:p></span></p> <div> <div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:"= ;Tahoma","sans-serif"">From:</span></b><span style=3D"font-s= ize:10.0pt;font-family:"Tahoma","sans-serif""> </span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev-bounce@freelists.= org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Tahom= a","sans-serif"">wdmaudiodev-bounce@xxxxxxxxxxxxx</span></a>= </span><span style=3D"font-size:10.0pt;font-family:"Tahoma","= ;sans-serif""> [</span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev-bounce@freelist= s.org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Tah= oma","sans-serif"">mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx</= span></a></span><span style=3D"font-size:10.0pt;font-family:"Tahoma&qu= ot;,"sans-serif"">] <b>On Behalf Of </b>Matthew van Eerde<br> <b>Sent:</b> 05 February 2014 18:36<br> <b>To:</b> </span><span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev@freeli= sts.org"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"T= ahoma","sans-serif"">wdmaudiodev@xxxxxxxxxxxxx</span></a></s= pan><span style=3D"font-size:10.0pt;font-family:"Tahoma","sa= ns-serif""><br> <b>Subject:</b> [wdmaudiodev] Re: USB Audio/WASAPI channel limits?<o:p></o:= p></span></p> </div> </div> <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">The “channel mas= k” section of a WAVEFORMATEXTENSIBLE is a 32-bit number. Perhaps you&= #8217;re tripping some wave format validation that assumes a valid WAVEFORM= ATEX only ever has fewer than 32 channels. (This sounds like a bug to me, since a channel mask of zero is always valid.)<o:p></o:p= ></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <div> <div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b>From:</b> <span lang=3D"EN-GB"><a href=3D"mailto:= wdmaudiodev-bounce@xxxxxxxxxxxxx"><span lang=3D"EN-US">wdmaudiodev-bounce@f= reelists.org</span></a></span> [<span lang=3D"EN-GB"><a href=3D"mailto:wdma= udiodev-bounce@xxxxxxxxxxxxx"><span lang=3D"EN-US">mailto:wdmaudiodev-bounc= e@xxxxxxxxxxxxx</span></a></span>] <b>On Behalf Of </b>Jerry Evans<br> <b>Sent:</b> Wednesday, February 5, 2014 10:27 AM<br> <b>To:</b> <span lang=3D"EN-GB"><a href=3D"mailto:wdmaudiodev@xxxxxxxxxxxxx= "><span lang=3D"EN-US">wdmaudiodev@xxxxxxxxxxxxx</span></a></span><br> <b>Subject:</b> [wdmaudiodev] USB Audio/WASAPI channel limits?<o:p></o:p></= p> </div> </div> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB">Greetings.<o:p></o:p></span></p= > <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB">I’m developing a USB2 inp= ut only audio device that exposes a large (N >=3D 24) number of channels= . <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB">The device is recognized and st= reams correctly on W7x64 at up to 32 channels, 48K sample rate and both 16 = and 24 bit sample sizes. Data is recorded accurately using various commerci= al WASAPI hosts (Sonar/Tracktion)<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB">Windows, however, appears to ba= ulk at any larger channel count. The various USB tracers (both stack and wi= re) show Windows sending a QUERY_CAPABILITIES every second or so when devic= e is configured with 32 channels. Anything above that and zero action.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB">Is there some hard limit or hav= e I missed something?<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB">Cheers.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-GB">Jerry<o:p></o:p></span></p> </div> </body> </html> --_000_29fd5b6aa166408ebc9f23ea1a603408BLUPR03MB033namprd03pro_-- --_004_29fd5b6aa166408ebc9f23ea1a603408BLUPR03MB033namprd03pro_ Content-Type: image/png; name="image001.png" Content-Description: image001.png Content-Disposition: inline; filename="image001.png"; size=50801; creation-date="Thu, 13 Feb 2014 17:45:00 GMT"; modification-date="Thu, 13 Feb 2014 17:45:00 GMT" Content-ID: <image001.png@01CF289F.EC79F380> Content-Transfer-Encoding: base64 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 7bsAAAAASUVORK5CYII= --_004_29fd5b6aa166408ebc9f23ea1a603408BLUPR03MB033namprd03pro_-- ****************** 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/