Какое событие фильтра Directshow я могу использовать, чтобы разблокировать поток исходного потока при отключении фильтра? - PullRequest
1 голос
/ 24 декабря 2011

У меня есть фильтр DirectShow, написанный на Delphi 6 с использованием библиотеки компонентов DSPACK.Это видео-фильтр push-источника.Фильтр блокирует событие, которое сигнализируется в другом потоке, который генерирует видеокадры.Когда кадр готов, он записывается в общую область памяти, к которой метод FillBuffer () обращается, когда он разблокирован.Есть ли удобное событие DirectShow, которое я могу использовать, чтобы разблокировать поток FillBuffer (), когда фильтр отключается DirectShow?Если нет, то что такое «стандартная практика» в этой области?

1 Ответ

2 голосов
/ 24 декабря 2011

Стандартная практика это WaitForMultipleObjects функция и друзья. Вы ожидаете одно из событий, которое разблокирует ваш FillBiffer: доступность нового видеокадра из внешнего источника, остановка поступления запроса на ваш фильтр и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...