Уведомление CBasePin об изменениях состояния фильтра
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Класс CBasePin получает уведомление всякий раз, когда изменяется состояние фильтра-владеющего. Для каждого перехода состояния фильтр вызывает соответствующий метод в закреплении, как показано в следующей таблице.
Новое состояние фильтра | Метод CBasePin |
---|---|
Остановлена | CBasePin::Inactive |
Пауза | CBasePin::Active |
Запущен | CBasePin::Run |
Производный класс должен переопределить эти методы, чтобы реагировать на изменение состояния. В зависимости от фильтра закрепление может запустить рабочий поток, который доставляет образцы, фиксирует или снимает выделение памяти и т. д.