스트림 동기화
DVD 스트림 입력은 둘 이상의 스트림으로 구성될 수 있습니다. 스트림 클래스 드라이버는 DVD 디코더 미니 드라이버 대신 동기화를 투명하게 처리할 수 있습니다. 자세한 내용은 Minidriver 동기화를 참조하세요. 프로그래머는 다음을 포함하여 DVD 스트림에 영향을 주는 몇 가지 요인을 알고 있어야 합니다.
오디오 스트림은 마스터 클록을 제공해야 하며 데이터가 없는 경우 클록을 합성해야 합니다. 오디오 데이터가 중지되면 오디오 스트림은 KeQueryPerformanceCounter에서 반환된 속도 일치 및 클록 빈도에 따라 시스템 클록을 사용합니다. 다른 모든 스트림은 오디오에 대한 종속적인 역할을 해야 합니다. 즉, 오디오 스트림에 성능을 동기화합니다.
소프트웨어 오디오 디코더가 사용자 모드에서 지원되어야 합니다. 클록 전달자 DirectShow 필터는 DirectShow 시계를 미니 드라이버로 전달합니다. 이것은 미니 드라이버에 투명합니다.
디코더는 PES(기본 기본 스트림) 헤더에 타임스탬프를 사용하면 안 됩니다.
SCR(시스템 클록 참조)은 동기화에 사용되지 않습니다. Microsoft의 DVD 아키텍처는 오디오 및 비디오 동기화를 위해 "마스터 클록" 패러다임을 사용하므로 DVD 팩의 SCR 필드는 0으로 설정됩니다.
미니 드라이버에 타임스탬프를 표시하지 않습니다. DVD 탐색기/분할기는 모든 타임스탬프를 연속으로 만듭니다.
디코더가 오디오 및 비디오 모두에 디코딩 기능을 제공하는 경우 디코더는 오디오 스트림이 시스템 마스터 클록으로 열릴 때만 하드웨어 동기화를 사용할 수 있습니다. 오디오 스트림이 마스터 시계가 아닌 경우 비디오 스트림은 비디오 디코딩을 스트림 클래스 마스터 클록과 동기화해야 합니다.