Метод IPin::NewSegment (strmif.h)

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

Метод NewSegment уведомляет контакт о том, что образцы мультимедиа, полученные после этого вызова, группируются как сегмент с общим временем начала, временем остановки и скоростью.

Приложения не должны вызывать этот метод. Этот метод вызывается другими фильтрами.

Синтаксис

HRESULT NewSegment(
  REFERENCE_TIME tStart,
  REFERENCE_TIME tStop,
  double         dRate
);

Параметры

tStart

Время начала сегмента относительно исходного источника в 100 наносекундных единицах.

tStop

Время окончания сегмента относительно исходного источника в 100-наносекундных единицах.

dRate

Скорость обработки этого сегмента в процентах от первоначальной ставки.

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

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

Комментарии

Исходный фильтр (или фильтр средства синтаксического анализа) вызывает этот метод в начале каждого нового потока и после каждой операции поиска. Он вызывает метод на входном контакте нижестоящего фильтра после доставки предыдущего пакета данных и перед вызовом IMemInputPin::Receive с любыми новыми данными. Нижестоящий фильтр распространяет NewSegment нисходящий вызов.

Фильтры могут использовать сведения о сегментах для обработки примеров. Например, при использовании некоторых форматов невозможно восстановить разностный кадр без следующего ключевого кадра. Таким образом, если время остановки происходит на разностном кадре, фильтр источника должен отправить некоторые дополнительные кадры. Фильтр декодера определяет окончательный кадр на основе сведений о сегменте. Частота сегментов используется для отрисовки непрерывных источников данных, таких как звуковые данные. Например, отрисовщик звука использует частоту выборки и частоту сегментов для правильной отрисовки звуковых данных.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

Поток данных в графе фильтров

Коды ошибок и успешного выполнения

Интерфейс IPin