;
; AVStream Camera Sample (AvsCamera.sys) installation file. 
;

[Version]
signature="$Windows NT$"
Class=Media
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
PnpLockdown=1
Provider=%ProviderName%
Catalogfile=kinonivd.cat
DriverVer = 12/02/2020,11.22.31.608

[SourceDisksNames]
1 = %DiskId1%,,,""

[SourceDisksFiles]
kinonivd.sys=1
;AvsCameraMft0.dll=1

[DestinationDirs]
AvsCamera.CopySys  = 12
;AvsCamera.CopyMft0 = 11

[AvsCamera.CopySys]
kinonivd.sys

[AvsCamera.CopyMft0]
AvsCameraMft0.dll

[Manufacturer]
%ManufacturerName%=AvsCamera.Device,NTamd64

;
;   The following section is needed to expose a camera enumerated under the 
;   the graphics subsystem.  Since our driver is install under ROOT, this is
;   not really needed.
;
; Uncomment the following lines to add security ACLs.
;
;[AvsCamera.Device.NT$ARCH$.HW]
;AddReg = AvsCamera.NTamd64.HW.AddReg
;
;[AvsCamera.Device.NT$ARCH$.HW.AddReg]
;HKR,,Security,, "D:P(A;;GA;;;SY)(A;;GA;;;BA)(A;;GRGWGX;;;WD)(A;;GRGX;;;RC)"

[AvsCamera.Device.NTamd64]
%AvsCamera.DeviceDesc%=AvsCamera,KINONIVD


[AvsCamera]
CopyFiles=AvsCamera.CopySys;, AvsCamera.CopyMft0
;AddReg=AvsCamera.MFT.AddReg

;---------------------------------------------------------------
;                Install as a Root-enumerated device.
;                NOTE: DO NOT INCLUDE THIS FOR A HARDWARE DRIVER!
;---------------------------------------------------------------

; avoid this so no extra PDO created, see https://community.osr.com/discussion/286156/extra-pdo
;[DeviceInstall32]
;AddDevice = KINONIVD,,AvsCamera_RootDevice_Inst

;[AvsCamera_RootDevice_Inst]
;HardwareIds = KINONIVD

;---------------------------------------------------------------
;                I n t e r f a c e s
;---------------------------------------------------------------

[AvsCamera.Interfaces]
; We do not use front cam any more
; AddInterface=%KSCATEGORY_VIDEO_CAMERA%,%AvsCamera_FrontFilterName%,FrontCameraInterface.NT,
; KSCATEGORY_CAPTURE for skype classic and KSCATEGORY_VIDEO_CAMERA for skype uwp
; GLOBAL filter name is for Win7 while Rear filter name GUID is for Win10
AddInterface=%KSCATEGORY_CAPTURE%,%AvsCamera_RearFilterName%,RearCameraInterface.NT,
AddInterface=%KSCATEGORY_CAPTURE%,%AvsCamera_GlobalFilterName%,RearCameraInterface.NT,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%,%AvsCamera_RearFilterName%,RearCameraInterface.NT,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%,%AvsCamera_GlobalFilterName%,RearCameraInterface.NT,

[RearCameraInterface.NT]
AddReg=AvsCamera.RearCamera.AddReg

; Uncomment the following line to enable profile information.
;AddReg=AvsCamera.Profiles.RearCamera.AddReg

[FrontCameraInterface.NT]
AddReg=AvsCamera.FrontCamera.AddReg

; Uncomment the following line to enable profile information.
;AddReg=AvsCamera.Profiles.FrontCamera.AddReg

;---------------------------------------------------------------
;                A d d R e g
;---------------------------------------------------------------

[AvsCamera.RearCamera.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%AvsCamera.Rear%
;HKR,,CameraPostProcessingPluginCLSID,,%MFT0.CLSID%

;
;   Profile information for the front camera
;
; Uncomment the following lines to enable profile information.
;
;[AvsCamera.Profiles.RearCamera.AddReg]
;HKR,,"OEMCameraProfiles",0,"KSCAMERAPROFILE_VideoRecording,0;KSCAMERAPROFILE_VideoRecording,1;KSCAMERAPROFILE_VideoRecording,2;KSCAMERAPROFILE_VideoConferencing,0;KSCAMERAPROFILE_HighQualityPhoto,0;KSCAMERAPROFILE_PhotoSequence,0;KSCAMERAPROFILE_BalancedVideoAndPhoto,0;{F2D45EB9-549C-46FE-9CC7-A8A673A06EB9},0",
;HKR,,"ReferenceGUID",0,%AvsCamera_RearFilterName%
;HKR,"KSCAMERAPROFILE_BalancedVideoAndPhoto,0\PINNAME_VIDEO_PREVIEW","MediaCount",0x00010001,1
;HKR,"KSCAMERAPROFILE_BalancedVideoAndPhoto,0\PINNAME_VIDEO_PREVIEW","Media0",0,"640,480,30000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_BalancedVideoAndPhoto,0\PINNAME_VIDEO_CAPTURE","MediaCount",0x00010001,1
;HKR,"KSCAMERAPROFILE_BalancedVideoAndPhoto,0\PINNAME_VIDEO_CAPTURE","Media0",0,"640,480,30000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_BalancedVideoAndPhoto,0\PINNAME_IMAGE","MediaCount",0x00010001,2
;HKR,"KSCAMERAPROFILE_BalancedVideoAndPhoto,0\PINNAME_IMAGE","Media0",0,"640,480,0,0,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_BalancedVideoAndPhoto,0\PINNAME_IMAGE","Media1",0,"640,480,30000,1001,0x10,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoRecording,0\PINNAME_VIDEO_PREVIEW","MediaCount",0x00010001,2
;HKR,"KSCAMERAPROFILE_VideoRecording,0\PINNAME_VIDEO_PREVIEW","Media0",0,"640,480,30000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoRecording,0\PINNAME_VIDEO_PREVIEW","Media1",0,"320,240,30000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoRecording,0\PINNAME_VIDEO_CAPTURE","MediaCount",0x00010001,2
;HKR,"KSCAMERAPROFILE_VideoRecording,0\PINNAME_VIDEO_CAPTURE","Media0",0,"640,480,30000,1001,2,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoRecording,0\PINNAME_VIDEO_CAPTURE","Media1",0,"320,240,30000,1001,2,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoRecording,1\PINNAME_VIDEO_PREVIEW","MediaCount",0x00010001,1
;HKR,"KSCAMERAPROFILE_VideoRecording,1\PINNAME_VIDEO_PREVIEW","Media0",0,"640,480,60000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoRecording,1\PINNAME_VIDEO_CAPTURE","MediaCount",0x00010001,1
;HKR,"KSCAMERAPROFILE_VideoRecording,1\PINNAME_VIDEO_CAPTURE","Media0",0,"640,480,60000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoRecording,2\PINNAME_VIDEO_PREVIEW","MediaCount",0x00010001,1
;HKR,"KSCAMERAPROFILE_VideoRecording,2\PINNAME_VIDEO_PREVIEW","Media0",0,"640,480,10000000,83333,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoRecording,2\PINNAME_VIDEO_CAPTURE","MediaCount",0x00010001,1
;HKR,"KSCAMERAPROFILE_VideoRecording,2\PINNAME_VIDEO_CAPTURE","Media0",0,"640,480,10000000,83333,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_PhotoSequence,0","Disabled",0x00010001,1
;HKR,"KSCAMERAPROFILE_HighQualityPhoto,0\PINNAME_VIDEO_PREVIEW","MediaCount",0x00010001,2
;HKR,"KSCAMERAPROFILE_HighQualityPhoto,0\PINNAME_VIDEO_PREVIEW","Media0",0,"640,480,30000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_HighQualityPhoto,0\PINNAME_VIDEO_PREVIEW","Media1",0,"320,240,30000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_HighQualityPhoto,0\PINNAME_IMAGE","MediaCount",0x00010001,2
;HKR,"KSCAMERAPROFILE_HighQualityPhoto,0\PINNAME_IMAGE","Media0",0,"640,480,0,0,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_HighQualityPhoto,0\PINNAME_IMAGE","Media1",0,"640,480,30000,1001,0x10,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoConferencing,0\PINNAME_VIDEO_PREVIEW","MediaCount",0x00010001,2
;HKR,"KSCAMERAPROFILE_VideoConferencing,0\PINNAME_VIDEO_PREVIEW","Media0",0,"640,480,30000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoConferencing,0\PINNAME_VIDEO_PREVIEW","Media1",0,"320,240,30000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoConferencing,0\PINNAME_VIDEO_CAPTURE","MediaCount",0x00010001,2
;HKR,"KSCAMERAPROFILE_VideoConferencing,0\PINNAME_VIDEO_CAPTURE","Media0",0,"640,480,30000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoConferencing,0\PINNAME_VIDEO_CAPTURE","Media1",0,"320,240,30000,1001,0,0,0,0,0"
;HKR,"KSCAMERAPROFILE_VideoConferencing,0","Concurrency",0,"%AvsCamera_RearFilterName%;KSCAMERAPROFILE_VideoConferencing,0"
;HKR,"{F2D45EB9-549C-46FE-9CC7-A8A673A06EB9},0\PINNAME_VIDEO_PREVIEW","MediaCount",0x00010001,1
;HKR,"{F2D45EB9-549C-46FE-9CC7-A8A673A06EB9},0\PINNAME_VIDEO_PREVIEW","Media0",0,"640,480,30000,1001,0,0,0,0,0"
;HKR,"{F2D45EB9-549C-46FE-9CC7-A8A673A06EB9},0\PINNAME_VIDEO_CAPTURE","MediaCount",0x00010001,1
;HKR,"{F2D45EB9-549C-46FE-9CC7-A8A673A06EB9},0\PINNAME_VIDEO_CAPTURE","Media0",0,"320,240,30000,1001,0,0,0,0,0"

; not used
[AvsCamera.MFT.AddReg]
HKCR,CLSID\%MFT0.CLSID%,,,"Kinoni AvsCamera MFT0 Class"
;HKCR,CLSID\%MFT0.CLSID%\InprocServer32,,%REG_EXPAND_SZ%,"%%SystemRoot%%\system32\AvsCameraMft0.dll"
HKCR,CLSID\%MFT0.CLSID%\InprocServer32,ThreadingModel,,"Both"


;---------------------------------------------------------------
;                S e r v i c e s  
;---------------------------------------------------------------

[AvsCamera.Services]
AddService=kinonivd, 0x00000002, AvsCamera.ServiceInstall

[AvsCamera.ServiceInstall]
DisplayName=%AvsCamera.DeviceDesc%
ServiceType=%SERVICE_KERNEL_DRIVER%
StartType=%SERVICE_DEMAND_START%
ErrorControl=%SERVICE_ERROR_NORMAL%
ServiceBinary=%12%\kinonivd.sys

;---------------------------------------------------------------
;                S t r i n g s
;---------------------------------------------------------------

[Strings]

; non-localizable
MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"
Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_VIDEO_CAMERA="{E5323777-F976-4f5b-9B55-B94699C46E44}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"

; not used
MFT0.CLSID="{1C2CE17A-FAAD-4E73-85E7-167068093F25}"

; The following GUIDs need to match the filter factory descriptors
;AvsCamera_FrontFilterName="{B27E3887-AD10-4A4E-BFB8-D6765ADD0E38}"
AvsCamera_RearFilterName= "{45ab5b3b-2e15-4452-a2cb-87e5fdd026fb}"
AvsCamera_GlobalFilterName= "GLOBAL"


SERVICE_KERNEL_DRIVER=1
SERVICE_DEMAND_START=3
SERVICE_ERROR_NORMAL=1
REG_DWORD=0x00010001
REG_EXPAND_SZ=0x00020000

;localizable
ProviderName="Elgato"
ManufacturerName="Elgato"
DiskId1="Elgato Disk"
AvsCamera.DeviceDesc="EpocCam"
AvsCamera.FriendlyName="EpocCam"
AvsCamera.Rear="EpocCam Camera"
;AvsCamera.Front="Kinoni Video UWP (Front)"

