Yes, you should be able to have PCM and AC3 dataranges on a single host pin. It sounds like the topology you want is just Output Host (Pin 0) o--- ---[] Output Bridge (Pin 1) Input Bridge (Pin 2) []--- ---o Input Host (Pin 3) Where categories are: Pin 0 = KSCATEGORY_AUDIO Pin 1 = KSNODETYPE_SPDIF_INTERFACE Pin 2 = KSNODETYPE_SPDIF_INTERFACE Pin 3 = KSCATEGORY_AUDIO and dataranges are: Pin 0 = array of 2 KSDATARANGE_AUDIO, one with PCM and one with AC3 Pin 1 = standard bridge pin datarange Pin 2 = standard bridge pin datarange Pin 3 = array of 2 KSDATARANGE_AUDIO, one with PCM and one with AC3 This would give you 1 SPDIF output device and 1 SPDIF input device in the audio control panel. More specifically, the datarange array for the SPDIF host pins might look something like: static KSDATARANGE_AUDIO HostPinDataranges[] = { // 48-kHz PCM { { sizeof(KSDATARANGE_AUDIO), 0, 0, 0, STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO), STATICGUIDOF(KSDATAFORMAT_SUBTYPE_PCM), STATICGUIDOF(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX) }, 2, // Max number of channels 16, // Minimum number of bits per sample 16, // Maximum number of bits per channel 44100, // Minimum rate 48000 // Maximum rate }, // 48-kHz AC-3 (also implies support for DTS and WMAPro over SPDIF on Vista) { { sizeof(KSDATARANGE_AUDIO), 0, 0, 0, STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO), STATICGUIDOF(KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF), STATICGUIDOF(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX) }, 2, // Max number of channels 16, // Minimum number of bits per sample 16, // Maximum number of bits per channel 44100, // Minimum rate 48000 // Maximum rate }, }; Hopefully this helps. Regards, Mitch ________________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Philip Lukidis [plukidis@xxxxxxxxxxxxx] Sent: Wednesday, January 03, 2007 12:38 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Vista and AC3 Hi Mitch, thanks for your reply. My device has several analog line outputs, two S/PDIF outputs, as well as 2 MIDI ports. S/PDIF is handled by an appropriate subdevice (one for optical, one for coax). BTW the underlying bus is firewire. I would like to handle both PCM and AC3 on the optical and coax subdevices. On XP this was easy because an added extra pin factory with the AC3 dataranges did not result in the device appearing as an extra audio device (as it does under Vista). Now, my subdevice wave topology is quite simple: 4 pins (in, out and their bridge pins), and two KSNOTETYPE_SPDIF_INTERFACE nodes (not DACs), one for input and output. The wave filter is connected to the topology filter appropriately. Previously, there were no internal nodes in the topology filter (we have proprietary mutes and volumes). I tried Cheng's suggestion to add a mute node within the topology filter, but so far I have no luck. Is there any way to get non-PCM dataranges with a PCM datarange on the same pin factory, or to stop the non-PCM pin factory from creating a device which the user can see? If anything here is unclear, please let me know. Philip Lukidis > -----Original Message----- > From: wdmaudiodev-bounce@xxxxxxxxxxxxx > [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx]On Behalf Of Mitchell Rundle > Sent: Wednesday, January 03, 2007 3:24 PM > To: wdmaudiodev@xxxxxxxxxxxxx > Subject: [wdmaudiodev] Re: Vista and AC3 > > > Philip, does your device only have a SPDIF jack or does it > have a speaker jack as well? > > Regards, > Mitch > > ________________________________________ > From: wdmaudiodev-bounce@xxxxxxxxxxxxx > [wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Cheng-mean > Liu (SOCCER) [soccerl@xxxxxxxxxxxxx] > Sent: Wednesday, January 03, 2007 9:55 AM > To: wdmaudiodev@xxxxxxxxxxxxx > Subject: [wdmaudiodev] Re: Vista and AC3 > > Hi Philip: > > You can try the following ks topology in the same filter. > > PCM----->Vol-->Mute------------------------>pin 0 > > AC3 ---->Vol(if it's supported)--->mute---->pin 1 > > (Don't use and sum node to combine both streams before > reaching output pins, which might confuse mmdev's Topology parser) > > Thanks. > > Cheng-mean > > -----Original Message----- > From: wdmaudiodev-bounce@xxxxxxxxxxxxx > [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Philip Lukidis > Sent: Wednesday, January 03, 2007 8:39 AM > To: wdmaudiodev@xxxxxxxxxxxxx > Subject: [wdmaudiodev] Vista and AC3 > > Hello. I'm trying to get portcls wavecyclic based subdevices > (S/PDIF optical and coax) to expose both PCM and AC3 > dataranges simultaneously on the same pin factory on Vista > (unlike XP, where I do not attempt this). So far I'm not > having any luck; only PCM or non-PCM appear simultaneously in > KS Studio. > > My rationale for trying this is because unlike XP, when a pin > factory exposes a non-PCM format, it is displayed as an audio > device in the audio CPL. This is quite useless as far as I > can see, because there is no configuration a user may do. So > I'm left with a situation where there are two devices shown > in the audio CPL for each S/PDIF subdevice, where only one of > them is configurable. > > Is there a way to expose both AC3 and PCM dataranges on the > same pin factory, or, failing that, to hide the non-PCM > device in the audio CPL (unless there is a reason for it > appearing there)? > > thank you, > > 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.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/ > ****************** > > 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/ ****************** 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/