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


Время часов

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

DirectShow определяет два связанных времени часов: время ссылки и время потока.

  • время ссылки — это абсолютное время, возвращаемое эталонными часами. (См. справочные часы.)
  • время потока определяется относительно времени последнего запуска графа.
    • Во время выполнения графа время потока равно времени ссылки минус времени начала.
    • Пока граф приостановлен, время потока остается в момент приостановки потока.
    • После операции поиска время потока сбрасывается до нуля.
    • Пока граф остановлен, время потока не определено.

Если в образце носителя есть метка времени t, это означает, что образец должен отображаться во время потока t. По этой причине время потока также называется время презентации.

Когда приложение вызывает IMediaControl::Run для запуска графа фильтра, диспетчер фильтров вызывает IMediaFilter::Run для каждого фильтра. Чтобы компенсировать небольшое время, которое требуется для запуска фильтров, диспетчер графов фильтров указывает время начала немного в будущем.

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

метки времени