made yet -another- god forsaken workaround for elgato filter crashes.
This commit is contained in:
parent
1a48ec3a30
commit
5bd39f407e
@ -1,4 +1,4 @@
|
|||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
Copyright (C) 2012 Hugh Bailey <obs.jim@gmail.com>
|
Copyright (C) 2012 Hugh Bailey <obs.jim@gmail.com>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@ -1426,7 +1426,10 @@ INT_PTR CALLBACK ConfigureDialogProc(HWND hwnd, UINT message, WPARAM wParam, LPA
|
|||||||
outputPin = NULL;
|
outputPin = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
IAMCrossbar *crossbar = GetFilterCrossbar(filter);
|
String strDeviceName = configData->deviceNameList[id];
|
||||||
|
bool bIsElworkaroundo = sstri(strDeviceName, TEXT("elgato")) != NULL; //HAHAHAHAHAHAHA HOW F***ING WONDERFUL. 自殺したい
|
||||||
|
|
||||||
|
IAMCrossbar *crossbar = bIsElworkaroundo ? NULL : GetFilterCrossbar(filter);
|
||||||
EnableWindow(GetDlgItem(hwnd, IDC_CROSSBAR), crossbar != NULL);
|
EnableWindow(GetDlgItem(hwnd, IDC_CROSSBAR), crossbar != NULL);
|
||||||
SafeRelease(crossbar);
|
SafeRelease(crossbar);
|
||||||
|
|
||||||
@ -1703,7 +1706,10 @@ INT_PTR CALLBACK ConfigureDialogProc(HWND hwnd, UINT message, WPARAM wParam, LPA
|
|||||||
L"DevicePath", configData->deviceIDList[id]);
|
L"DevicePath", configData->deviceIDList[id]);
|
||||||
|
|
||||||
if (filter) {
|
if (filter) {
|
||||||
IAMCrossbar *crossbar = GetFilterCrossbar(filter);
|
String strDeviceName = configData->deviceNameList[id];
|
||||||
|
bool bIsElworkaroundo = sstri(strDeviceName, TEXT("elgato")) != NULL; //HAHAHAHAHAHAHA HOW F***ING WONDERFUL. 自殺したい
|
||||||
|
|
||||||
|
IAMCrossbar *crossbar = bIsElworkaroundo ? NULL : GetFilterCrossbar(filter);
|
||||||
if (crossbar) {
|
if (crossbar) {
|
||||||
OpenPropertyPages(hwnd, crossbar);
|
OpenPropertyPages(hwnd, crossbar);
|
||||||
crossbar->Release();
|
crossbar->Release();
|
||||||
|
@ -810,7 +810,7 @@ void DeviceSource::UnloadFilters()
|
|||||||
|
|
||||||
SafeReleaseLogRef(captureFilter);
|
SafeReleaseLogRef(captureFilter);
|
||||||
SafeReleaseLogRef(deviceFilter);
|
SafeReleaseLogRef(deviceFilter);
|
||||||
if(!bDeviceHasAudio) SafeReleaseLogRef(audioDeviceFilter);
|
SafeReleaseLogRef(audioDeviceFilter);
|
||||||
SafeReleaseLogRef(audioFilter);
|
SafeReleaseLogRef(audioFilter);
|
||||||
|
|
||||||
bFiltersLoaded = false;
|
bFiltersLoaded = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user