Hi David,
Thanks for your reply.
The datarange used is basically:
KSDATARANGE PinDataRange =
{
sizeof(KSDATARANGE),
0,
0,
0,
STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO),
STATICGUIDOF(KSDATAFORMAT_SUBTYPE_PCM),
STATICGUIDOF(KSDATAFORMAT_SPECIFIER_NONE)
};
In the DataRangeIntersection handler the subtype is KSDATAFORMAT_SUBTYPE_PCM
and the formatTag WAVE_FORMAT_EXTENSIBLE
Is this not sufficient?
Ed
________________________________
From: wdmaudiodev-bounce@xxxxxxxxxxxxx [wdmaudiodev-bounce@xxxxxxxxxxxxx] on
behalf of David A. Hoatson [dhoatson@xxxxxxxxxxxxxx]
Sent: 04 September 2019 17:17
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Inf file problems.
Ed,
I’m no expert on either issue, but I’m guessing the problem is not with the INF
file.
Check the following places for support of Dolby, DTS…
GetDescription PPCFILTER_DESCRIPTOR table. If the DataRanges in
the PCPIN_DESCRIPTOR points to a entry with
KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF, that will show Dolby. (I suspect this is
the issue in your case)
DataRangeIntersection handler.
KSPROPERTY_PIN_PROPOSEDATAFORMAT property handler.
The end point names might be coming from the KSPROPERTY_GENERAL_COMPONENTID
property handler. Although the actual text comes from the INF file, the text
that shows for each endpoint comes from the property handler. Specifically the
GUID in PKSCOMPONENTID Name element.
Hopefully this helps.
Thank you,
David A. Hoatson
Lynx Studio Technology, Inc.
www.lynxstudio.com<https://r.xdref.com/?id=x84GICL2055568&from=wdmaudiodev-bounce@xxxxxxxxxxxxx&to=ed.tottenham@xxxxxxxxx&url=http://www.lynxstudio.com/>
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Ed Tottenham
Sent: Tuesday, September 03, 2019 7:54 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Inf file problems.
Hello,
I wonder if anyone can help me with two problems with the inf file for our
audio driver.
The inf file was created using the MSVAD driver's inf file as a template.
The first problem is more of a question. In the Sound System Control Panel, the
tab for "Supported Formats" (Dolby, DTS etc.) is always shown. Is this
something that can be removed by changing the inf file or should I be doing
something more fundamental?
The second problem is that since the 1903 update to windows 10, the device
endpoint names are not being created in the registry, so all channels show up
as "Digital Input" or "Digital Output" in the Sound Control Panel. I've been
staring at the inf file till I'm blue in the face, but I just can't see why the
entries are no longer written to the registry.
Can anybody help by looking at the inf file below?
Best wishes
Ed Tottenham
Inf file follows:
----------------------------------------------------
[Version]
Signature="$CHICAGO$"
Class=MEDIA
Provider=%PrismSound%
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
DriverVer=09/19/2016,13.35.48.843
CatalogFile=PrismSoundWDM_WIN7_X64.cat
[SourceDisksNames]
222="Prism Sound WDM Audio Drivers Disk","",222
[SourceDisksFiles]
PrismSoundWDM_WIN7_X64.sys=222
;;This syntax is only recognized on Windows XP and above- it is needed to
install 64-bit drivers on
;;Windows Server 2003 Service Pack 1 and above.
[Manufacturer]
%PrismMedia%=PrismAudio,NTAMD64
;; For Windows Server 2003 Service Pack 1 and above, a 64-bit OS will not
install a driver
;; unless the Manufacturer and Models Sections explicitly show it is a driver
for that platform
;; But the individual model section decorations (or lack thereof) work as they
always have.
;; All of the model sections referred to are undecorated or NT-decorated,
hence work on all platforms
;; This section enables installing on x64 systems
[PrismAudio.NTAMD64]
%PrismWDM_Simple.DeviceDesc%=PrismWDM_Simple,*PrismWDM
[DestinationDirs]
PrismWDM_Simple.CopyList=10,system32\drivers
;======================================================
; PrismWDM_SIMPLE
;======================================================
[PrismWDM_Simple.CopyList]
PrismSoundWDM_WIN7_X64.sys
[PrismWDM_Simple.AddReg]
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,PrismSoundWDM_WIN7_X64.sys
HKR,Drivers,SubClasses,,"wave,midi,mixer"
HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\midi\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\wave\wdmaud.drv,Description,,%PrismWDM_Simple.DeviceDesc%
HKR,Drivers\midi\wdmaud.drv,Description,,%PrismWDM_MIDI%
HKR,Drivers\mixer\wdmaud.drv,Description,,%PrismWDM_Simple.DeviceDesc%
HKLM,%MediaCategories%\%Simple.NameGuid%,Name,,%Simple.Name%
;======================================================
; COMMON
;======================================================
[PrismWDM.I.Wave]
AddReg=PrismWDM.I.Wave.AddReg,PrismWDM_NAMES.AddReg
[PrismWDM.I.Wave.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Prism.Wave.szPname%
HKR,"EP\\0",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,"EP\\0",%PKEY_AudioEngine_OEMFormat%,1,41,00,00,00,28,00,00,00,FE,FF,02,00,00,EE,02,00,00,94,11,00,06,00,18,00,16,00,18,00,03,00,00,00,01,00,00,00,00,00,10,00,80,00,00,AA,00,38,9B,71
[PrismWDM_NAMES.AddReg]
;; Pins
HKLM,%MediaCategories%\%PLWGUID.AnalogIn1%,Name,,%PLWPin.AnalogIn1%
HKLM,%MediaCategories%\%PLWGUID.AnalogIn1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogIn2%,Name,,%PLWPin.AnalogIn2%
HKLM,%MediaCategories%\%PLWGUID.AnalogIn2%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogIn3%,Name,,%PLWPin.AnalogIn3%
HKLM,%MediaCategories%\%PLWGUID.AnalogIn3%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogIn4%,Name,,%PLWPin.AnalogIn4%
HKLM,%MediaCategories%\%PLWGUID.AnalogIn4%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogOut1%,Name,,%PLWPin.AnalogOut1%
HKLM,%MediaCategories%\%PLWGUID.AnalogOut1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogOut2%,Name,,%PLWPin.AnalogOut2%
HKLM,%MediaCategories%\%PLWGUID.AnalogOut2%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogOut3%,Name,,%PLWPin.AnalogOut3%
HKLM,%MediaCategories%\%PLWGUID.AnalogOut3%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogOut4%,Name,,%PLWPin.AnalogOut4%
HKLM,%MediaCategories%\%PLWGUID.AnalogOut4%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.DigitalIn1%,Name,,%PLWPin.DigitalIn1%
HKLM,%MediaCategories%\%PLWGUID.DigitalIn1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.DigitalOut1%,Name,,%PLWPin.DigitalOut1%
HKLM,%MediaCategories%\%PLWGUID.DigitalOut1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATIn1%,Name,,%PLWPin.ADATIn1%
HKLM,%MediaCategories%\%PLWGUID.ADATIn1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATIn2%,Name,,%PLWPin.ADATIn2%
HKLM,%MediaCategories%\%PLWGUID.ADATIn2%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATIn3%,Name,,%PLWPin.ADATIn3%
HKLM,%MediaCategories%\%PLWGUID.ADATIn3%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATIn4%,Name,,%PLWPin.ADATIn4%
HKLM,%MediaCategories%\%PLWGUID.ADATIn4%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATOut1%,Name,,%PLWPin.ADATOut1%
HKLM,%MediaCategories%\%PLWGUID.ADATOut1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATOut2%,Name,,%PLWPin.ADATOut2%
HKLM,%MediaCategories%\%PLWGUID.ADATOut2%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATOut3%,Name,,%PLWPin.ADATOut3%
HKLM,%MediaCategories%\%PLWGUID.ADATOut3%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATOut4%,Name,,%PLWPin.ADATOut4%
HKLM,%MediaCategories%\%PLWGUID.ADATOut4%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.Headphone%,Name,,%PLWPin.Headphone%
HKLM,%MediaCategories%\%PLWGUID.Headphone%,Display,1,00,00,00,00
[PrismWDM.I.Topo]
AddReg=PrismWDM.I.Topo.AddReg
[PrismWDM.I.Topo.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Prism.Topo.szPname%
;======================================================
; PrismWDM_SIMPLE
;======================================================
[PrismWDM_Simple.NTAMD64]
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration
CopyFiles=PrismWDM_Simple.CopyList
AddReg=PrismWDM_Simple.AddReg
[PrismWDM_Simple.NTAMD64.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,PrismWDM.I.Wave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Wave%,PrismWDM.I.Wave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,PrismWDM.I.Wave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,PrismWDM.I.Topo
[PrismWDM_Simple.NTAMD64.Services]
AddService=PrismWDM_simple,0x00000002,PrismWDM_Simple_Service_Inst
[PrismWDM_Simple_Service_Inst]
DisplayName=%PrismWDM_simple.SvcDesc%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%10%\system32\drivers\PrismSoundWDM_WIN7_X64.sys
;======================================================
; COMMON
;======================================================
[Strings]
PrismSound="Prism Sound"
PrismMedia="Audio Squadron Ltd."
PrismWDM_Simple.DeviceDesc="Prism Sound WDM Audio Device"
Prism.Wave.szPname="Prism Wave"
Prism.Topo.szPname="Prism Topology"
PrismWDM_MIDI="Prism -> WDM Midi Device"
Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSNODETYPE_ANY = "{00000000-0000-0000-0000-000000000000}"
KSNAME_Wave="Wave"
KSNAME_Topology="Topology"
PrismWDM_simple.SvcDesc="Prism Sound WDM Audio Device"
MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"
Simple.NameGuid="{946A7B1A-EBBC-422a-A81F-F07C8D40D3B4}"
Simple.Name="Prism WDM"
;; Pins
PLWGUID.AnalogIn1 ="{8E37AE30-2E11-4845-B3A6-AD0E86055C61}"
PLWGUID.AnalogIn2 ="{65EB395B-6EE1-4BF1-B1AD-C68FE59EA3D0}"
PLWGUID.AnalogIn3 ="{27586AF3-0BA9-45B7-A111-3153DF72B92A}"
PLWGUID.AnalogIn4 ="{5B948A4E-D111-463C-822C-AAA13DA4E10A}"
PLWGUID.AnalogOut1 ="{9B75DA74-6D1D-41F6-B25D-04B97B916AAE}"
PLWGUID.AnalogOut2 ="{93C4683E-E7B6-4568-B5D8-AF97C19A52C1}"
PLWGUID.AnalogOut3 ="{24D70761-E8F3-47AA-8B20-1BF48A7058FB}"
PLWGUID.AnalogOut4 ="{81812A72-34B9-4AD2-AAAB-93BCEB0F367A}"
PLWGUID.DigitalIn1 ="{BD5412E6-FA67-4BDD-96A3-16E925FE438B}"
PLWGUID.DigitalOut1 ="{3761A567-0DCE-4513-A813-C1099FD4302F}"
PLWGUID.ADATIn1 ="{28C6AFF0-D709-4E6C-8075-3EA63E351038}"
PLWGUID.ADATIn2 ="{7A45FB25-D91A-4DFB-AFB8-BA97734F549F}"
PLWGUID.ADATIn3 ="{5E940B0A-0767-4D87-9694-BF592053F46B}"
PLWGUID.ADATIn4 ="{ABFBB037-BA8B-41AF-885D-C948F8C95AE6}"
PLWGUID.ADATOut1 ="{68E3A829-431C-4A39-8A99-20FCB2678216}"
PLWGUID.ADATOut2 ="{8C952C69-4532-45EB-933D-FC17109F245A}"
PLWGUID.ADATOut3 ="{7664755F-D391-488A-83C5-853F6EFC729C}"
PLWGUID.ADATOut4 ="{6BDA0045-5422-402E-8F67-0743AC5507FC}"
PLWGUID.Headphone ="{F703C95D-9A4A-45C3-AD52-FB59C113F6AF}"
;; Pin Names
PLWPin.AnalogIn1 ="Analog In (1+2)"
PLWPin.AnalogIn2 ="Analog In (3+4)"
PLWPin.AnalogIn3 ="Analog In (5+6)"
PLWPin.AnalogIn4 ="Analog In (7+8)"
PLWPin.AnalogOut1 ="Analog Out (1+2)"
PLWPin.AnalogOut2 ="Analog Out (3+4)"
PLWPin.AnalogOut3 ="Analog Out (5+6)"
PLWPin.AnalogOut4 ="Analog Out (7+8)"
PLWPin.DigitalIn1 ="Digital In (1+2)"
PLWPin.DigitalOut1 ="Digital Out (1+2)"
PLWPin.ADATIn1 ="ADAT In (1+2)"
PLWPin.ADATIn2 ="ADAT In (3+4)"
PLWPin.ADATIn3 ="ADAT In (5+6)"
PLWPin.ADATIn4 ="ADAT In (7+8)"
PLWPin.ADATOut1 ="ADAT Out (1+2)"
PLWPin.ADATOut2 ="ADAT Out (3+4)"
PLWPin.ADATOut3 ="ADAT Out (5+6)"
PLWPin.ADATOut4 ="ADAT Out (7+8)"
PLWPin.Headphone ="Headphone"
PKEY_AudioEngine_OEMFormat = "{E4870E26-3CC5-4CD2-BA46-CA0A9A70ED04},3"
PKEY_AudioEndpoint_Association = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"