;******************************************************************************
;
;   File:           XIStream.inf
;
;   Copyright (C) 2012 Magewell Electronics Co., Ltd. (Nanjing, China)
;
;******************************************************************************/

[Version]
signature = "$Windows NT$"
Class     = Media
ClassGUID = {4d36e96c-e325-11ce-bfc1-08002be10318}
Provider  = %MAGEWELL%
CatalogFile = XI006AUSB.cat
DriverVer = 05/21/2014,1.1.0.818

[SourceDisksNames]
1="Install disk",,,,disk1
2="Install disk",,,\x86,disk2
3="Install disk",,,\Firmware,disk3

[SourceDisksNames.amd64]
1="Install disk",,,,disk1
2="Install disk",,,\x64,disk2
3="Install disk",,,\Firmware,disk3

[SourceDisksFiles]
XI006AUSB.sys = 2
XIStreamHDCapture.dll = 1
XIStreamConfig.dll=1
XIStreamFirmware.dll=1
XIStreamHDCapture_x64.dll = 1
XIStreamConfig_x64.dll=1
XIStreamFirmware_x64.dll=1
XI006AUSB_REV_A.rbf=3

[DestinationDirs]
XI006AUSB.Drivers		= 12
XI006AUSB.PropPages32	= 11
XI006AUSB.PropPages64	= 11
XI006AUSB.PropPagesWOW	= 10,SysWOW64
XI006AUSB.Firmware		= 10

[XI006AUSB.Drivers]
XI006AUSB.sys

[XI006AUSB.PropPages32]
XIStreamHDCapture.dll
XIStreamConfig.dll
XIStreamFirmware.dll

[XI006AUSB.PropPages64]
XIStreamHDCapture_x64.dll
XIStreamConfig_x64.dll
XIStreamFirmware_x64.dll

[XI006AUSB.PropPagesWOW]
XIStreamHDCapture.dll
XIStreamConfig.dll
XIStreamFirmware.dll

[XI006AUSB.Firmware]
XI006AUSB_REV_A.rbf

[XI006AUSB.KnownFiles]
XI006AUSB.sys=force
XIStreamHDCapture.dll=force
XIStreamConfig.dll=force
XIStreamFirmware.dll=force
XIStreamHDCapture_x64.dll=force
XIStreamConfig_x64.dll=force
XIStreamFirmware_x64.dll=force
XI006AUSB_REV_A.rbf=force

[Manufacturer]
%MAGEWELL% = MAGEWELL,ntx86,ntamd64

[MAGEWELL.ntx86]
%XI006AUSB.DeviceDesc% = XI006AUSB.Device, USB\VID_04B4&PID_A006

[MAGEWELL.ntamd64]
%XI006AUSB.DeviceDesc% = XI006AUSB.Device, USB\VID_04B4&PID_A006

;---------------------------------------------------------------
;                DDInstall
;---------------------------------------------------------------

[XI006AUSB.Device.ntx86]
Include    = ks.inf, kscaptur.inf, ksfilter.inf, wdmaudio.inf
Needs      = KS.Registration,KSCAPTUR.Registration.NT, WDMAUDIO.Registration
AddReg	   = XI006AUSB.AddReg
CopyFiles  = XI006AUSB.Drivers,XI006AUSB.PropPages32,XI006AUSB.Firmware
KnownFiles = XI006AUSB.KnownFiles
RegisterDlls= XI006AUSB.RegSvr

[XI006AUSB.Device.ntamd64]
Include    = ks.inf, kscaptur.inf, ksfilter.inf, wdmaudio.inf
Needs      = KS.Registration,KSCAPTUR.Registration.NT, WDMAUDIO.Registration
AddReg	   = XI006AUSB.AddReg, XI006AUSB.AddReg64
CopyFiles  = XI006AUSB.Drivers,XI006AUSB.PropPages64,XI006AUSB.PropPagesWOW,XI006AUSB.Firmware
KnownFiles = XI006AUSB.KnownFiles
RegisterDlls= XI006AUSB.RegSvr64

[XI006AUSB.RegSvr]
11,,XIStreamHDCapture.dll,1
11,,XIStreamConfig.dll,1
11,,XIStreamFirmware.dll,1

[XI006AUSB.RegSvr64]
11,,XIStreamHDCapture_x64.dll,1
11,,XIStreamConfig_x64.dll,1
11,,XIStreamFirmware_x64.dll,1
10,SysWOW64,XIStreamHDCapture.dll,1
10,SysWOW64,XIStreamConfig.dll,1
10,SysWOW64,XIStreamFirmware.dll,1

;---------------------------------------------------------------
;                Interfaces
;---------------------------------------------------------------

[XI006AUSB.Device.ntx86.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%,"Video1",Video1,
AddInterface = %KSCATEGORY_VIDEO%,"Video1",Video1,
AddInterface = %KSCATEGORY_CAPTURE%,"Video2",Video2,
AddInterface = %KSCATEGORY_VIDEO%,"Video2",Video2,
AddInterface = %KSCATEGORY_CAPTURE%,"Video3",Video3,
AddInterface = %KSCATEGORY_VIDEO%,"Video3",Video3,
AddInterface = %KSCATEGORY_CAPTURE%,"Video4",Video4,
AddInterface = %KSCATEGORY_VIDEO%,"Video4",Video4,
AddInterface = %KSCATEGORY_CAPTURE%,"Video5",Video5,
AddInterface = %KSCATEGORY_VIDEO%,"Video5",Video5,
AddInterface = %KSCATEGORY_CAPTURE%,"Video6",Video6,
AddInterface = %KSCATEGORY_VIDEO%,"Video6",Video6,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio1",Audio1,
AddInterface = %KSCATEGORY_AUDIO%,"Audio1",Audio1,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio2",Audio2,
AddInterface = %KSCATEGORY_AUDIO%,"Audio2",Audio2,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio3",Audio3,
AddInterface = %KSCATEGORY_AUDIO%,"Audio3",Audio3,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio4",Audio4,
AddInterface = %KSCATEGORY_AUDIO%,"Audio4",Audio4,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio5",Audio5,
AddInterface = %KSCATEGORY_AUDIO%,"Audio5",Audio5,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio6",Audio6,
AddInterface = %KSCATEGORY_AUDIO%,"Audio6",Audio6,

[XI006AUSB.Device.ntamd64.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%,"Video1",Video1,
AddInterface = %KSCATEGORY_VIDEO%,"Video1",Video1,
AddInterface = %KSCATEGORY_CAPTURE%,"Video2",Video2,
AddInterface = %KSCATEGORY_VIDEO%,"Video2",Video2,
AddInterface = %KSCATEGORY_CAPTURE%,"Video3",Video3,
AddInterface = %KSCATEGORY_VIDEO%,"Video3",Video3,
AddInterface = %KSCATEGORY_CAPTURE%,"Video4",Video4,
AddInterface = %KSCATEGORY_VIDEO%,"Video4",Video4,
AddInterface = %KSCATEGORY_CAPTURE%,"Video5",Video5,
AddInterface = %KSCATEGORY_VIDEO%,"Video5",Video5,
AddInterface = %KSCATEGORY_CAPTURE%,"Video6",Video6,
AddInterface = %KSCATEGORY_VIDEO%,"Video6",Video6,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio1",Audio1,
AddInterface = %KSCATEGORY_AUDIO%,"Audio1",Audio1,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio2",Audio2,
AddInterface = %KSCATEGORY_AUDIO%,"Audio2",Audio2,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio3",Audio3,
AddInterface = %KSCATEGORY_AUDIO%,"Audio3",Audio3,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio4",Audio4,
AddInterface = %KSCATEGORY_AUDIO%,"Audio4",Audio4,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio5",Audio5,
AddInterface = %KSCATEGORY_AUDIO%,"Audio5",Audio5,
AddInterface = %KSCATEGORY_CAPTURE%,"Audio6",Audio6,
AddInterface = %KSCATEGORY_AUDIO%,"Audio6",Audio6,

[Video1]
AddReg = Video1.AddReg

[Video2]
AddReg = Video2.AddReg

[Video3]
AddReg = Video3.AddReg

[Video4]
AddReg = Video4.AddReg

[Video5]
AddReg = Video5.AddReg

[Video6]
AddReg = Video6.AddReg

[Audio1]
AddReg = Audio1.AddReg

[Audio2]
AddReg = Audio2.AddReg

[Audio3]
AddReg = Audio3.AddReg

[Audio4]
AddReg = Audio4.AddReg

[Audio5]
AddReg = Audio5.AddReg

[Audio6]
AddReg = Audio6.AddReg

[XI006AUSB.AddReg]
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,XI006AUSB.sys
HKR,Drivers,SubClasses,,"wave,mixer"
HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\wave\wdmaud.drv,Description,,%XI006AUSB.AudioCapture%
HKR,Drivers\mixer\wdmaud.drv,Description,,%XI006AUSB.AudioCapture%

HKLM, %MediaCategories%\{919AC461-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 1"
HKLM, %MediaCategories%\{919AC462-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 2"
HKLM, %MediaCategories%\{919AC463-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 3"
HKLM, %MediaCategories%\{919AC464-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 4"
HKLM, %MediaCategories%\{919AC465-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 5"
HKLM, %MediaCategories%\{919AC466-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 6"

; 0 - No Deinterlace, 1 - Blend Detinerlace, 2 - Motion Adaptive Deinterlace
HKLM, System\CurrentControlSet\Services\XI006AUSB,SDDeinterlace,0x00010001,1
; 0 - Do not keep aspect ratio, 1 - Add black border to keep aspect ratio, 2 - Clip border to keep aspect ratio
HKLM, System\CurrentControlSet\Services\XI006AUSB,SDScale,0x00010001,1
; 0 - Color bar, 1 - Blue screen, 2 - Black screen
HKLM, System\CurrentControlSet\Services\XI006AUSB,SDStatusImageMode,0x00010001,0
; 0 - Single stream, 1 - SimuStream with same video format, 2 - SimuStream with arbitrary video format
HKLM, System\CurrentControlSet\Services\XI006AUSB,SDSimuStreamType,0x00010001,1

HKLM, System\CurrentControlSet\Services\XI006AUSB,SDSharpness,0x00010001,30

; Disable extra formats with different size: 1
HKLM, System\CurrentControlSet\Services\XI006AUSB,DisableExtraFormats,0x00010001,0
; Disable color space outputs: RGB24/0x04, RGB32/0x08, YUY2/0x60, UYVY/0x100, I420/0x1400, NV12/0x4000
HKLM, System\CurrentControlSet\Services\XI006AUSB,DisableColorSpaceMasks,0x00010001,0
HKLM, System\CurrentControlSet\Services\XI006AUSB,EnablePreviewPin,0x00010001,0

[XI006AUSB.AddReg64]
HKLM, %RunOnce%, "XIStreamHDCapture.dll",,"%11%\regsvr32.exe /s %10%\SysWOW64\XIStreamHDCapture.dll"
HKLM, %RunOnce%, "XIStreamConfig.dll",,"%11%\regsvr32.exe /s %10%\SysWOW64\XIStreamConfig.dll"
HKLM, %RunOnce%, "XIStreamFirmware.dll",,"%11%\regsvr32.exe /s %10%\SysWOW64\XIStreamFirmware.dll"

[Video1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Video1%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[Video2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Video2%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[Video3.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Video3%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[Video4.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Video4%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[Video5.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Video5%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[Video6.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Video6%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[Audio1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Audio1%

[Audio2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Audio2%

[Audio3.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Audio3%

[Audio4.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Audio4%

[Audio5.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Audio5%

[Audio6.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AUSB.Audio6%

;---------------------------------------------------------------
;                Services
;---------------------------------------------------------------

[XI006AUSB.Device.ntx86.Services]
AddService = XI006AUSB,0x00000002,XI006AUSB.ServiceInstall

[XI006AUSB.Device.ntamd64.Services]
AddService = XI006AUSB,0x00000002,XI006AUSB.ServiceInstall

[XI006AUSB.ServiceInstall]
DisplayName   = %XI006AUSB.ServiceDesc%
ServiceType   = %SERVICE_KERNEL_DRIVER%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\XI006AUSB.sys

;---------------------------------------------------------------
;                Services
;---------------------------------------------------------------

[Strings]
SERVICE_KERNEL_DRIVER 	= 1
SERVICE_DEMAND_START   	= 3
SERVICE_ERROR_NORMAL  	= 1
MAGEWELL           		= "Magewell Electronics Co., Ltd. (Nanjing, China)"
XI006AUSB.ServiceDesc	= "XI006AUSB Box Driver"
XI006AUSB.DeviceDesc 	= "XI006AUSB Box"
KSCATEGORY_CAPTURE		= "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_VIDEO		= "{6994AD05-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_AUDIO		= "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
Proxy.CLSID				= "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
XI006AUSB.AudioCapture	= "XI006AUSB Audio Capture"
XI006AUSB.Video1     	= "Video 1 (XI006AUSB Box)"
XI006AUSB.Video2      	= "Video 2 (XI006AUSB Box)"
XI006AUSB.Video3      	= "Video 3 (XI006AUSB Box)"
XI006AUSB.Video4      	= "Video 4 (XI006AUSB Box)"
XI006AUSB.Video5      	= "Video 5 (XI006AUSB Box)"
XI006AUSB.Video6      	= "Video 6 (XI006AUSB Box)"
XI006AUSB.Audio1		= "Audio 1 (XI006AUSB Box)"
XI006AUSB.Audio2		= "Audio 2 (XI006AUSB Box)"
XI006AUSB.Audio3		= "Audio 3 (XI006AUSB Box)"
XI006AUSB.Audio4		= "Audio 4 (XI006AUSB Box)"
XI006AUSB.Audio5		= "Audio 5 (XI006AUSB Box)"
XI006AUSB.Audio6		= "Audio 6 (XI006AUSB Box)"
MediaCategories			= "SYSTEM\CurrentControlSet\Control\MediaCategories"
VideoStreamConfigPropertyPage.CLSID="{71F96467-78F3-11d0-A18C-00A0C9118956}"
RunOnce                 = "Software\Microsoft\Windows\CurrentVersion\RunOnce"

[Templates]
TemplateCount = 13
TemplateString1 = Strings, XI006AUSB.DeviceDesc, XI006AUSB Box %d
TemplateString2 = Strings, XI006AUSB.Video1, Video 1 (XI006AUSB Box %d)
TemplateString3 = Strings, XI006AUSB.Video2, Video 2 (XI006AUSB Box %d)
TemplateString4 = Strings, XI006AUSB.Video3, Video 3 (XI006AUSB Box %d)
TemplateString5 = Strings, XI006AUSB.Video4, Video 4 (XI006AUSB Box %d)
TemplateString6 = Strings, XI006AUSB.Video5, Video 5 (XI006AUSB Box %d)
TemplateString7 = Strings, XI006AUSB.Video6, Video 6 (XI006AUSB Box %d)
TemplateString8 = Strings, XI006AUSB.Audio1, Audio 1 (XI006AUSB Box %d)
TemplateString9 = Strings, XI006AUSB.Audio2, Audio 2 (XI006AUSB Box %d)
TemplateString10 = Strings, XI006AUSB.Audio3, Audio 3 (XI006AUSB Box %d)
TemplateString11 = Strings, XI006AUSB.Audio4, Audio 4 (XI006AUSB Box %d)
TemplateString12 = Strings, XI006AUSB.Audio5, Audio 5 (XI006AUSB Box %d)
TemplateString13 = Strings, XI006AUSB.Audio6, Audio 6 (XI006AUSB Box %d)
