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


Метод CBaseFilter.StreamTime

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

Метод StreamTime извлекает текущее время потока.

Синтаксис

virtual HRESULT StreamTime(
  [ref] CRefTime &rtStream
);

Параметры

rtStream [ссылка]

Ссылка на объект CRefTime , получающий текущее время потока.

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

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

Код возврата Описание
S_OK
Успешно.
VFW_E_NO_CLOCK
Ссылочные часы недоступны.

Комментарии

Время потока определяется как текущее время отсчета (заданное ссылочными часами) за вычетом времени начала (заданное CBaseFilter::m_tStart). Метка времени примера мультимедиа указывает время потока, когда он должен быть отрисован. Если образец с меткой времени меньше текущего времени потока еще не был отрисован, он запаздывает.

Этот метод получает время потока, вызывая метод IReferenceClock::GetTime , чтобы получить текущее время ссылки, а затем вычитая начальное время начала.

Требования

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

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

Время и часы в DirectShow

Класс CBaseFilter