mirror of https://github.com/PCSX2/pcsx2.git
USB: safe_release dshow filters
Pausing/resuming could cause double-release.
This commit is contained in:
parent
0d02d1e41b
commit
efed4a07ef
|
@ -444,28 +444,24 @@ namespace usb_eyetoy
|
||||||
|
|
||||||
int DirectShow::Close()
|
int DirectShow::Close()
|
||||||
{
|
{
|
||||||
if (sourcefilter != nullptr)
|
if (sourcefilter)
|
||||||
{
|
{
|
||||||
this->Stop();
|
this->Stop();
|
||||||
pControl->Stop();
|
pControl->Stop();
|
||||||
|
|
||||||
sourcefilter->Release();
|
safe_release(sourcefilter);
|
||||||
pSourceConfig->Release();
|
safe_release(pSourceConfig);
|
||||||
samplegrabberfilter->Release();
|
safe_release(samplegrabberfilter);
|
||||||
samplegrabber->Release();
|
safe_release(samplegrabber);
|
||||||
nullrenderer->Release();
|
safe_release(nullrenderer);
|
||||||
sourcefilter = nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pGraphBuilder->Release();
|
safe_release(pGraphBuilder);
|
||||||
pGraph->Release();
|
safe_release(pGraph);
|
||||||
pControl->Release();
|
safe_release(pControl);
|
||||||
|
|
||||||
if (mpeg_buffer.start != nullptr)
|
|
||||||
{
|
|
||||||
free(mpeg_buffer.start);
|
free(mpeg_buffer.start);
|
||||||
mpeg_buffer.start = nullptr;
|
mpeg_buffer.start = nullptr;
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue