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

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 9 Jan 2018 10:00:03 -0800

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

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
Providenza & Boekelheide, Inc.

Other related posts: