Неизданный фильтр DirectShow CSource вызывает сбой программы при завершении процесса
m разработка фильтра захвата DirectShow CSource. Он работает нормально, но когда я закрываю программу, которая использует фильтр (в этом случае ям тестирование с VLC, но то же самое происходит с другими программами), программа вылетает (если яя отлаживаю его в Visual Studio, затем запускается точка останова) .I '
мы уже давно занимаемся этой проблемой и обнаружили, что мой исходный фильтр и исходный поток не выпускаются; это значит, что их счетчик ссылок равен 1 в конце программы, функция DllCanUnloadNow () сообщает, что еще используются 2 объекта, и, когда вызывается CoUninitialize (), происходит сбой программы.
Я уверен, что счетчики ссылок обрабатываются правильно, так как ям с использованием реализации базовых классов. Единственная необычная вещь в моем программном обеспечении, о которой я могу думать, это то, что яиспользуя мою собственную версию DllGetClassObject (): я настроил файл .DEF для экспорта MyDllGetClassObject () вместо DllGetClassObject (), чтобы я мог вставить некоторый код перед вызовом реализации по умолчанию. Я нене думаю, что это проблема, так как яя проверил, что счетчик ссылок всех объектов, которые я возвращаю в конце MyDllGetClassObject (), равен 1.
Я предполагаю, что я'я что-то упускаю из жизни, но могуне понять, что (это самый первый фильтр захвата, который ям развивается). Любое предложение?
Заранее спасибо,
Гильермо