Поведение часов Demux

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

В режиме принудительной передачи mpeg-2 Demultiplexer (demux) предоставляет интерфейс IReferenceClock. Он выступает в качестве динамического источника, поэтому он будет выбран в качестве эталонных часов графа по умолчанию; Дополнительные сведения см. в live Sources.

  • Для транспортных потоков демукс синхронизирует часы с потоком PCR, который соответствует аудио- или видеопотоку, сопоставленному приложением. Внутри системы демикс отслеживает таблицы PAT и PMT. Когда приложение сопоставляет начальный поток PID с выходным закреплением, демукс ищет поток PCR для этого PID и использует этот поток PCR. (В настоящее время для приложения нет способа напрямую указать piD PCR.)
  • Для потоков программ демюкс синхронизирует часы с потоком SCR.

Синхронизация часов фильтра с потоком PCR или SCR предотвращает переполнение или переполнение данных, что может привести к тому, что часы графа отличаются от часов потока. Demux также преобразует значения PTS PES в время ссылки DirectShow и использует эти значения для метки времени для примеров мультимедиа. Метки времени применяются к следующей границе кадра; Не гарантируется, что граница кадра будет выравниваться с началом образца носителя.

Демукс гарантирует, что метки времени увеличиваются монотонно. Это означает, что, например, если транспортный поток включает сегмент, например коммерческий объект, созданный с разными часами, чем основная программа, демью будет настраивать метки времени презентации, чтобы скрыть разрыв времени от подчиненных фильтров.

использование демультиплексера MPEG-2