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


Метод CBaseRenderer.WaitForRenderTime

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

Метод WaitForRenderTime ожидает времени презентации текущего примера.

Синтаксис

virtual HRESULT WaitForRenderTime();

Параметры

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

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

Возвращает одно из следующих значений HRESULT .

Код возврата Описание
S_OK
Успешно.
VFW_E_STATE_CHANGED
Состояние фильтра изменилось до наступления времени презентации.

Комментарии

Этот метод ожидает выполнения одного из следующих действий:

  • Наступает время презентации примера, после чего образец может быть отрисован.
  • Фильтр останавливает или начинает очистку данных.

Если время презентации приходит, сигнализирует о событии CBaseRenderer::m_RenderEvent . Если состояние изменится, сигнализирует о событии CBaseRenderer::m_ThreadSignal . Этот метод ожидает обоих событий. Производный класс может переопределить этот метод для ожидания дополнительных событий, если это необходимо.

Этот метод вызывает метод CBaseRenderer::OnWaitStart , когда начинается ожидание, и метод CBaseRenderer::OnWaitEnd при завершении ожидания. Ни метод не выполняет никаких действий в базовом классе, но производный класс может переопределить их.

Требования

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

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

Класс CBaseRenderer