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


Потоковая синхронизация

Входные потоки DVD могут состоять из двух или более потоков. Драйвер класса потока может прозрачно обрабатывать синхронизацию от имени мини-диска декодера DVD-диска. Дополнительные сведения см. в разделе Синхронизация мини-накопителей. Программисты по-прежнему должны знать о нескольких факторах, влияющих на потоки DVD, в том числе:

  • Аудиопоток должен предоставлять master часы и синтезировать часы, если нет данных. При остановке звуковых данных звуковой поток использует системные часы на основе соответствия скорости и частоты, возвращенной KeQueryPerformanceCounter. Все остальные потоки должны выступать в качестве подчиненных аудио. То есть они синхронизируют свою производительность с аудиопотоком.

  • Программные звуковые декодеры должны поддерживаться в пользовательском режиме. Фильтр DirectShow перенаправления часов перенаправит часы DirectShow на мини-диск. Это прозрачно для мини-накопителя.

  • Декодер не должен использовать метки времени в заголовке основного элементарного потока (PES).

  • Ссылки на системные часы (SCR) не используются при синхронизации. Поле SCR пакета DVD-дисков равно нулю, так как архитектура DVD Майкрософт использует парадигму "master часов" для синхронизации звука и видео.

  • Мини-диск не видит разрывы меток времени. Dvd-навигатор/разделитель делает все метки времени смежными.

Если декодер предоставляет возможности декодирования как для звука, так и для видео, декодер может использовать аппаратную синхронизацию только в том случае, если аудиопоток открыт, когда система master часы. Если аудиопоток не является master часами, видеопоток должен синхронизировать декодирование видео с классом потока master часами.