Я использую DirectShowNet, и когда мой график остановлен, я освобождаю объекты com.Очистка графика DirectShow - График DirectShow не останавливается
Проблема заключается в том, что, хотя я пытаюсь освободить COM-объекты [фильтры, интерфейс], иногда эта очистка вызывает прямой график show not STOPPED.It «suspend».
Если я не делаю člen до [выпуск COM-объектов] Everthing в порядке [кроме меня есть утечки памяти] ...
Вот как я сделать ВЫМЫТЬ:
if (videoWindow != nullptr)
{
Marshal::ReleaseComObject(videoWindow);
videoWindow = nullptr;
}
if (mediaControl != nullptr)
{
Marshal::ReleaseComObject(mediaControl);
mediaControl = nullptr;
}
if (graphBuilder != nullptr)
{
Marshal::ReleaseComObject(graphBuilder);
graphBuilder = nullptr;
}
.. ..
Что может быть неправильным? Я неправильно фильтрую фильтры? Что может вызвать этот «неудержимый граф»?
Похоже, что старый фильтр декодера [ffdshow] вызывает это. [Он не разрушает себя]. Я обновляю фильтр декодера, и теперь он закрывается. – Novalis