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


Метод CBaseRenderer.GetSampleTimes

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

Метод GetSampleTimes извлекает метки времени из примера.

Синтаксис

virtual HRESULT GetSampleTimes(
   IMediaSample   *pMediaSample,
   REFERENCE_TIME *pStartTime,
   REFERENCE_TIME *pEndTime
);

Параметры

pMediaSample

Указатель на интерфейс IMediaSample примера.

pStartTime

Указатель на переменную, получающую время начала.

pEndTime

Указатель на переменную, получающую время окончания.

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

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

Код возврата Описание
S_OK
Образец должен быть отрисован немедленно.
S_FALSE
Пример должен быть запланирован для отрисовки на основе меток времени.
E_FAIL
Не отрисовывайте этот пример.
VFW_E_START_TIME_AFTER_END
Метка неправильного времени. Время окончания раньше времени начала.

Комментарии

Фильтр вызывает этот метод, чтобы определить, как он должен обрабатывать образец. Если возвращаемое значение равно S_OK, фильтр немедленно отрисовывает пример. Если возвращаемое значение S_FALSE, фильтр планирует отрисовку примера на основе меток времени. Если возвращаемое значение является кодом ошибки, фильтр отклоняет пример.

Этот метод возвращает S_OK, если в образце нет меток времени или если у фильтра нет ссылочных часов. В противном случае возвращается значение метода CBaseRenderer::ShouldDrawSampleNow . В базовом классе ShouldDrawSampleNow всегда возвращает S_FALSE. Производный класс может переопределить это поведение. Например, если производный класс реализует управление качеством, он может вернуть E_FAIL для удаления примера.

Требования

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

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

Класс CBaseRenderer