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


Метод CBaseFilter.Run

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

Метод Run запускает фильтр. Этот метод реализует метод IMediaFilter::Run .

Синтаксис

HRESULT Run(
   REFERENCE_TIME tStart
);

Параметры

tStart

Время ссылки, соответствующее времени потока 0.

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

Возвращает S_OK в случае успешного выполнения или значение HRESULT , указывающее причину ошибки.

Комментарии

Если фильтр остановлен, этот метод приостанавливает его, вызывая метод CBaseFilter::P ause . Затем он вызывает метод CBasePin::Run для каждого из подключенных контактов фильтра. Наконец, для переменной-члену CBaseFilter::m_State присваивается значение State_Running.

Время потока вычисляется как текущее время ссылки минус tStart. Образец носителя с нулевой меткой времени должен отображаться во время tStart.

Требования

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

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

Класс CBaseFilter