[wdmaudiodev] Re: problem with multiple subdevices and topology: help please

  • From: "Philip Lukidis" <pagefault0x0@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 2 Jul 2003 16:03:39 -0400

I should have added the following:

The wav adapter is enumerated by my bus driver.  A possible solution would
be for my bus driver to enumerate three wav adapters, each of which would
register its particular wave subdevice/topology pair, but I'd like to know
if there is another solution.  Thanks.

Philip Lukidis
----- Original Message ----- 
From: "Philip Lukidis" <pagefault0x0@xxxxxxxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Wednesday, July 02, 2003 1:47 PM
Subject: [wdmaudiodev] problem with multiple subdevices and topology: help
please


> Hi all.
>
> I have an audio driver (port driver is portcls.sys), with 3 wave
subdevices.
> I want the user to be able to use sndvol32 to regulate the wave, CD and
> SYNTH playback volumes for each wave subdevice.  So the topology miniport
> has to reflect this, and be properly connected to the wave subdevices.
>
> With WinXP, I have found at least 2 successful ways of doing this:
>
> a) I create 3 topology miniports, and connect them to their corresponding
> wave miniports via PcRegisterPhysicalConnection.  The topology miniports
are
> the same, and quite simple; in fact for now they
> just have a wave volume and mute nodes declared.  There are two pins to
each
> topology miniport, with the
> first pin connected to the output of its WAVE subdevice (its category is
> KSCATEGORY_AUDIO), and the second
> serving as the output (its category is KSNODETYPE_SPEAKER).  This method
> also works with Win2k.
>
> b) I create 1 topology miniport, with 3 input pins.  Each input pin is
> connected to its corresponding WAVE
> subdevice via PcRegisterPhysicalConnection.  All these pins feed into a
sum
> node, which then feeds into the
> wave volume and then the wave mute.  Finally, the wave mute is connected
to
> the output pin, which is of
> category KSNODETYPE_SPEAKER.
>
> Both these methods work fine under WinXP (method a is confirmed to work
with
> Win2k), except in the second
> method I have an extra volume displayed, probably due to my sum node.  I
can
> regulate the volumes for each
> wave subdevice as expected.
>
> However, under Win98SE/ME, these methods do not work at all.  While the
> volumes for the first wave subdevice
> are displayed OK in sndvol32, using them has no effect.  Worse, there are
no
> other subevices in the playback
> menu of sndvol32; the volumes for the last 2 subdevices cannot be
displayed
> at all.  NewStream is not even
> called when I try and use the MS supplied synth and my wave subdevice.
>
> When I tried a variant of method a), I had some success in 98SE/ME.  The
> variation was to create and connect
> only 1 subdevice-topology pair at once.  Creating and connecting more than
1
> pair results in the same
> symptoms as I've described above.  It therefore seems to me that my
property
> handlers are functioning OK.
>
> Could anyone give me some clue about what I am doing incorrectly?  In the
> past I have always had to deal with
> 1 wave subdevice, which never have me any problems with the topology.
> Thanks.
>
> Philip Lukidis
> ******************
>
> 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.de/
>
>
******************

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.de/

Other related posts: