11 int main (
int argc,
const char** argv)
14 if (vw.Initialize(argc, argv))
18 #endif // if defined(AJALinux)
20 #if defined(AJA_WINDOWS)
29 VCAM_VIDEO_PIN_NAME_W,
37 &gVcamOutputVideoPinTypes
48 VCAM_AUDIO_PIN_NAME_W,
56 &gVcamOutputAudioPinTypes
79 NTV2VCAM::CreateInstance,
87 BOOL APIENTRY DllMain(
HANDLE hModule, DWORD dwReason, LPVOID lpReserved)
89 return DllEntryPoint((HINSTANCE)(hModule), dwReason, lpReserved);
92 STDAPI DllRegisterServer()
97 IFilterMapper2* pMapper =
NULL;
98 hr = CoCreateInstance(CLSID_FilterMapper2,
NULL, CLSCTX_INPROC_SERVER, IID_IFilterMapper2, (
void**)&pMapper);
101 REGFILTER2 rf2FilterReg = { 1, MERIT_NORMAL, 1, &gVcamOutputVideoPin };
102 pMapper->RegisterFilter(CLSID_VirtualWebcam, VCAM_FILTER_NAME_W,
NULL, &CLSID_VideoInputDeviceCategory, VCAM_FILTER_NAME_W, &rf2FilterReg);
104 rf2FilterReg = { 1, MERIT_NORMAL, 1, &gVcamOutputAudioPin };
105 pMapper->RegisterFilter(CLSID_VirtualWebcam, VCAM_FILTER_NAME_W,
NULL, &CLSID_AudioInputDeviceCategory, VCAM_FILTER_NAME_W, &rf2FilterReg);
113 STDAPI DllUnregisterServer()
118 IFilterMapper2* pMapper =
NULL;
119 hr = CoCreateInstance(CLSID_FilterMapper2,
NULL, CLSCTX_INPROC_SERVER, IID_IFilterMapper2, (
void**)&pMapper);
122 pMapper->UnregisterFilter(&CLSID_VideoInputDeviceCategory, VCAM_FILTER_NAME_W, CLSID_VirtualWebcam);
123 pMapper->UnregisterFilter(&CLSID_AudioInputDeviceCategory, VCAM_FILTER_NAME_W, CLSID_VirtualWebcam);
129 #endif // if defined(AJA_WINDOWS)