Skip to content

Commit f745a2e

Browse files
author
Michael Chourdakis
committed
Recreate error
1 parent e2815f1 commit f745a2e

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

capture.hpp

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -790,8 +790,10 @@ class CAPTURE
790790
return 0;
791791

792792
// Get DXGI adapter
793+
HRESULT hr = 0;
794+
793795
CComPtr<IDXGIAdapter> lDxgiAdapter;
794-
auto hr = lDxgiDevice->GetParent(
796+
hr = lDxgiDevice->GetParent(
795797
__uuidof(IDXGIAdapter),
796798
reinterpret_cast<void**>(&lDxgiAdapter));
797799

@@ -843,6 +845,7 @@ class CAPTURE
843845
desc.MipLevels = 1;
844846
desc.CPUAccessFlags = 0;
845847
desc.Usage = D3D11_USAGE_DEFAULT;
848+
lGDIImage = 0;
846849
hr = device->CreateTexture2D(&desc, NULL, &lGDIImage);
847850
if (FAILED(hr))
848851
return 0;
@@ -862,6 +865,7 @@ class CAPTURE
862865
desc.MipLevels = 1;
863866
desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ | D3D11_CPU_ACCESS_WRITE;
864867
desc.Usage = D3D11_USAGE_STAGING;
868+
lDestImage = 0;
865869
hr = device->CreateTexture2D(&desc, NULL, &lDestImage);
866870
if (FAILED(hr))
867871
return 0;
@@ -1087,7 +1091,6 @@ int DesktopCapture(DESKTOPCAPTUREPARAMS& dp)
10871091
if(dp.HasAudio)
10881092
hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_INPROC_SERVER, __uuidof(IMMDeviceEnumerator), (LPVOID*)&deviceEnumerator);
10891093

1090-
10911094
CAPTURE cap;
10921095
int wi = 0, he = 0;
10931096
if (dp.HasVideo)
@@ -1660,6 +1663,23 @@ int DesktopCapture(DESKTOPCAPTUREPARAMS& dp)
16601663
&lDesktopResource);
16611664
if (hr == DXGI_ERROR_WAIT_TIMEOUT)
16621665
hr = S_OK;
1666+
if (hr == DXGI_ERROR_ACCESS_LOST)
1667+
{
1668+
cap.lDeskDupl = 0;
1669+
bool C = false;
1670+
for (int i = 0; i < 10; i++)
1671+
{
1672+
if (cap.Prepare(dp.nOutput))
1673+
{
1674+
C = true;
1675+
break;
1676+
}
1677+
Sleep(250);
1678+
}
1679+
if (!C)
1680+
break;
1681+
hr = S_OK;
1682+
}
16631683
if (FAILED(hr))
16641684
break;
16651685

0 commit comments

Comments
 (0)