;/*++
;
;Copyright (c) Realtek Semiconductor Corporation.  All rights reserved.
;
;--*/

[Version]
Signature="$WINDOWS NT$"
Class=MEDIA
ClassGuid={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%REALTEK%
DriverVer = 03/20/2025,2.0.11.0
CatalogFile=RtkBthLeVDsp.cat
PnpLockdown=1

[DestinationDirs]
DefaultDestDir = 13

;*****************************************
; Audio Device Install Section
;*****************************************
[ControlFlags]
ExcludeFromSelect = {89A6B57C-E9F0-4130-B14D-77874008B211}\Render
ExcludeFromSelect = {89A6B57C-E9F0-4130-B14D-77874008B211}\Capture

[Manufacturer]
%REALTEK%=Standard,NTamd64.10.0...25987

[Standard.NTamd64.10.0...25987]
%WdfDspDevice.DeviceDesc%=Audio_Device, RTK_BT\{5DBB7054-7951-4B40-B907-52F1E482C57F}
%WdfDspDeviceRender.DeviceDesc%=Audio_Child_Device, {89A6B57C-E9F0-4130-B14D-77874008B211}\Render
%WdfDspDeviceCapture.DeviceDesc%=Audio_Child_Device, {89A6B57C-E9F0-4130-B14D-77874008B211}\Capture

[Audio_Device.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_Device.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Device.NT.Copy]
RtkBthLeVDsp.sys

;-------------- Service installation

[Audio_Device.NT.Services]
AddService = RtkBthLeVDspService, %SPSVCINST_ASSOCSERVICE%, Audio_Service_Inst

[Audio_Child_Device.NT.Services]
;NULL Driver
AddService = , %SPSVCINST_ASSOCSERVICE%

[Audio_Service_Inst]
DisplayName    = %WdfDspDevice.DeviceDesc%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %13%\RtkBthLeVDsp.sys

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

[SourceDisksFiles]
RtkBthLeVDsp.sys  = 1,,


[Audio_Device.NT.Wdf]
KmdfService = RtkBthLeVDspService, Audio_wdfsect
[Audio_wdfsect]
KmdfLibraryVersion = 1.31

;
; render interfaces: speaker
;
[Audio_Device.I.Speaker]
AddReg=Audio_Device.I.Speaker.AddReg
[Audio_Device.I.Speaker.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.Speaker.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

;
; capture interfaces: microphone
;
[Audio_Device.I.Microphone]
AddReg=Audio_Device.I.Microphone.AddReg
[Audio_Device.I.Microphone.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.Microphone.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

;
; PnP add interface directives for dynamic enumerated audio endpoints. 
;
[Audio_Child_Device.NT.Interfaces]
; Interfaces for render endpoint. capture is used for loopback.
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_Speaker%,  Audio_Device.I.Speaker
AddInterface=%KSCATEGORY_RENDER%,   %KSNAME_Speaker%,  Audio_Device.I.Speaker
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_Speaker%,  Audio_Device.I.Speaker
;AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_Speaker%,  Audio_Device.I.Speaker

; Interfaces for mic capture endpoint 
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_Microphone%, Audio_Device.I.Microphone
AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_Microphone%, Audio_Device.I.Microphone
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_Microphone%, Audio_Device.I.Microphone

[Strings]
;
;Non-localizable
;
KSNAME_Speaker="Speaker0"
KSNAME_Microphone="Microphone0"

SPSVCINST_ASSOCSERVICE = 0x00000002

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}"
KSCATEGORY_REALTIME = "{EB115FFC-10C8-4964-831D-6DCB02E6F23F}"

KSNODETYPE_ANY      = "{00000000-0000-0000-0000-000000000000}"

PKEY_AudioEndpoint_ControlPanelPageProvider  = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},1"
PKEY_AudioEndpoint_Association               = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
PKEY_AudioEndpoint_Supports_EventDriven_Mode = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},7"
PKEY_AudioEndpoint_Default_VolumeInDb        = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},9"

;
;Localizable
;
REALTEK = "Realtek Semiconductor Corp."
DiskId1 = "Realtek BthLe Audio Driver Installation Disk"
WdfDspDevice.DeviceDesc = "Realtek Bluetooth LE Audio Driver"

;LE Audio Child Devices names
WdfDspDeviceRender.DeviceDesc = "Realtek Bluetooth LE Audio Render Device"
WdfDspDeviceCapture.DeviceDesc = "Realtek Bluetooth LE Audio Capture Device"

;; friendly names
Audio_Device.Speaker.szPname="BthLe Audio Speaker"
Audio_Device.Microphone.szPname="BthLe Audio Microphone"


