[wdmaudiodev] Re: USB Audio Class 2 driver - logical Windows Audio output devices

  • From: "Matthew van Eerde" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "Matthew.van.Eerde" for DMARC)
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 11 Jan 2018 12:37:37 +0000

Thanks for the feature request. The internal tracking number is 15417094 if you 
call support.


  *   The current implementation is at least able to parse the UAC descriptors 
and to expose more than one input / output to the user

This is correct.


  *   Couldn't there be a solution based on driver INF files that allow 
definition of the device topology published by the driver?

That’s possible but then it’s not a class driver anymore. It’s also possible to 
add filter drivers above and below usbaudio2.sys but that is also not a class 
driver anymore. The benefit of the proposed improved-channel-routing feature is 
that Windows would “just work” with a much larger set of USB Audio 2.0 
complaint hardware without custom code.

________________________________
From: wdmaudiodev-bounce@xxxxxxxxxxxxx <wdmaudiodev-bounce@xxxxxxxxxxxxx> on 
behalf of Franz Detro <franz.detro@xxxxxxxxxxxxxxxxxxxxx>
Sent: Thursday, January 11, 2018 1:29:31 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: USB Audio Class 2 driver - logical Windows Audio 
output devices


Franz, if you would like such a device to work with Windows, there would need 
to be a new feature added to Windows to more intelligently route audio channels.

This is bad news.


That is to say, it is not a simple matter of updating Windows’ USB audio driver.

Really? It seems that the current implementation is at least able to parse the 
UAC descriptors and to expose more than one input / output to the user. 
Couldn't there be a solution based on driver INF files that allow definition of 
the device topology published by the driver?


You can submit a feature suggestion for such a feature via Feedback Hub – see 
https://blogs.msdn.microsoft.com/matthew_van_eerde/2016/09/26/report-problems-with-logs-and-suggest-features-with-the-feedback-hub/<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fblogs.msdn.microsoft.com%2Fmatthew_van_eerde%2F2016%2F09%2F26%2Freport-problems-with-logs-and-suggest-features-with-the-feedback-hub%2F&data=02%7C01%7CMatthew.van.Eerde%40microsoft.com%7C7c73f0f5c65a49e9798608d558d5ef86%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636512598233463779&sdata=ECcqshs7qiP%2FVonLqNOhAkoS%2BypA0ILt14aWTnypDSU%3D&reserved=0>

Here is the link:

https://aka.ms/Tq2t0o<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2FTq2t0o&data=02%7C01%7CMatthew.van.Eerde%40microsoft.com%7C7c73f0f5c65a49e9798608d558d5ef86%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636512598233463779&sdata=TIcskipE2Ep3k2GVZXhkNfMnX5AlItSz%2BaZdHUHLqyg%3D&reserved=0>

Can I expedite this through a Support Incident? If yes, could you create / 
provide an internal issue number for this?

Regards,
Franz


________________________________
From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx
<wdmaudiodev-bounce@xxxxxxxxxxxxx><mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx> on 
behalf of Tim Roberts <timr@xxxxxxxxx><mailto:timr@xxxxxxxxx>
Sent: Tuesday, January 9, 2018 10:00:03 AM
To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx>
Subject: [wdmaudiodev] Re: USB Audio Class 2 driver - logical Windows Audio 
output devices

Franz Detro wrote:

A more reasonable layout would be

                                           +- Mixer Unit (4 in / 2 out) - 
External Terminal (Line Connector)
USB Streaming Input Terminal (4 channels) -+
                                           +- Mixer Unit (4 in / 2 Out) - 
Output Terminal (Type Headphones)

with the mixer extracting the matching channels (1/2 or 3/4) for the Line 
Output and Headphone Output.

Why is this more reasonable?  How is an outside observer supposed to know about 
this mapping?  Why could it not be the other way around?  It doesn't seem 
natural to me at all that the "line out" and "headphone out" signals ought to 
be coming through the same streaming input, although the architecture certainly 
doesn't forbid it.


Experiments using this layout are successful regarding appearance of the output 
devices in the system, but not regarding the right signals being sent to the 
right logical output (it seems that the driver always only uses the first two 
USB streaming channels with both output devices).

It has to make some choice, and since it has no way to know what you actually 
want, this arbitrary choice is as good as any.  In this case, it is clearly up 
to the application (which understands the topology) to go configure the mixers 
to produce the desired result.  The audio subsystem cannot guess the right 
answer here.


Is this a bug in the Audio Class driver? If not, what is the recommended way to 
model such common cases? Is it possible to provide a device specific INF file 
describing the device topology?

I think you have fallen into the trap of believing that your unique situation 
is a common situation.

--
Tim Roberts, timr@xxxxxxxxx<mailto:timr@xxxxxxxxx>
Providenza & Boekelheide, Inc.


Other related posts: