Поделиться через


Метод CBaseInputPin.EndFlush

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Метод EndFlush завершает операцию очистки. Реализует метод IPin::EndFlush .

Синтаксис

HRESULT EndFlush();

Параметры

Этот метод не имеет параметров.

Возвращаемое значение

Возвращает S_OK.

Комментарии

Этот метод задает для флага CBaseInputPin::m_bFlushingзначение TRUE, что позволяет методу CBaseInputPin::Receive принимать примеры.

Производный класс должен переопределить этот метод и выполнить следующие действия:

  1. Освободите все буферизируемые данные и дождитесь, пока все образцы в очереди будут удалены.
  2. Снимите все ожидающие уведомления EC_COMPLETE .
  3. Вызовите метод базового класса.
  4. Вызовите метод IPin::EndFlush для нисходящих входных контактов. Если пин-код еще не доставлял ни одного примера мультимедиа ниже, этот шаг можно пропустить. Если выходные контакты являются производными от класса CBaseOutputPin , можно вызвать метод CBaseOutputPin::D eliverEndFlush .

Требования

Требование Значение
Заголовок
Amfilter.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Класс CBaseInputPin