I use DirectShowNet and when my Graph is stopped I release com objects.
The problem is that while I try to release COM objects [ filters, interface] ,sometimes this cleanup cause directshow graph not STOPPED.It "suspend".
If I do not make clen up [ release com objects] everthing is OK [ except i have memory leaks] ...
Here is how i make clean up:
if (videoWindow != nullptr)
{
Marshal::ReleaseComObject(videoWindow);
videoWindow = nullptr;
}
if (mediaControl != nullptr)
{
Marshal::ReleaseComObject(mediaControl);
mediaControl = nullptr;
}
if (graphBuilder != nullptr)
{
Marshal::ReleaseComObject(graphBuilder);
graphBuilder = nullptr;
}
....
What may be wrong? Do I relase filters in a wrong way? What may cause this "unstopable graph"?