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