[wdmaudiodev] Re: KSPIN_TOPO_XXX numbering question

  • From: "Paul Gryting" <paul.gryting@xxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Tue, 24 Apr 2007 08:25:55 -0500

 
Don,

The comments are not always up to date in the MS examples.
The enum defines which pin is which, regardless of what the picture shows.
In all cases, the code reflects the actual state of the driver, not the
comments. :)

If your driver loads, use can use grapher (ksstudio.exe) tools\avstream\x86
   to view the topology of your driver.

In general, Study the data structures, macros and functions from the driver
in the DDK doc, 
  and take a look at the macros in the DDK header files. 
  Another example driver that builds a topology is the AC97 sample driver.


Good luck,
Paul




-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Don Bell
Sent: Monday, April 23, 2007 10:24 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: KSPIN_TOPO_XXX numbering question

Hmmm... no answer means:

(1) I did not ask the question properly?
(2) Everybody is on vacation?
(3) No one knows the answer? (I doubt it)
(4) All of the above?

If (1) could you please give me a hint how I can solve the mystery described
in the original question?

Thanks,
Don

On 4/18/07, Don Bell <0dbell@xxxxxxxxx> wrote:
> I am trying to understand the numbering (indexing) scheme of topology 
> pins and I was looking at the MSVAD Simple sample to try to correlate 
> this with what I understood (or didn't understand) so far.
>
> In mintopo.cpp there is an ASCII diagram that describes the topology 
> for the Simple driver:
>
> (you need to view this in monospaced font)
>
> /*********************************************************************
> * Topology/Wave bridge connection                                    *
> *                                                                    *
> *              +------+    +------+                                  *
> *              | Wave |    | Topo |                                  *
> *              |      |    |      |                                  *
> *  Capture <---|0    1|<===|4    1|<--- Synth                        *
> *              |      |    |      |                                  *
> *   Render --->|2    3|===>|0     |                                  *
> *              +------+    |      |                                  *
> *                          |     2|<--- Mic                          *
> *                          |      |                                  *
> *                          |     3|---> Line Out                     *
> *                          +------+                                  *
> *********************************************************************/
>
> In case the above couldn't display properly I will summarize here the 
> pin numbers according to the diagram (notice, the start from 0):
>
> 0. Capture
> 1. Render
> 2. Synth
> 3. Mic
> 4. Line Out
>
> However, in simple.h the topology pin seem to be numbered differently:
>
> // topology pins.
> enum
> {
>  KSPIN_TOPO_WAVEOUT_SOURCE = 0,
>  KSPIN_TOPO_SYNTHOUT_SOURCE,
>  KSPIN_TOPO_SYNTHIN_SOURCE,
>  KSPIN_TOPO_MIC_SOURCE,
>  KSPIN_TOPO_LINEOUT_DEST,
>  KSPIN_TOPO_WAVEIN_DEST
> };
>
> Not only they are numbered differently, there are 6 pins vs. only 5 in 
> the diagram.
>
> What is the source of the discrepancy here? What am I missing?
>
> Is it possible that the above enum is not really being used in the 
> Simple sample?
> If so, how come KSPIN_TOPO_SYNTHOUT_SOURCE, for example, is being used 
> in PCCONNECTION_DESCRIPTOR MiniportConnections[] in toptable.h?
>
> Thanks for any tip that could clarify my confusion.
>
> Don
>
******************

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/


******************

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/

Other related posts: