ストリームの同期
DVD ストリーム入力は、2 つ以上のストリームで構成される場合があります。 ストリーム クラス ドライバーは、DVD デコーダー ミニドライバーの代わりに透過的に同期を処理できます。 詳細については、「ミニドライバーの同期」を参照してください。 プログラマは、DVD ストリームに影響を与える次のような要因を認識する必要があります。
オーディオ ストリームはマスター クロックを提供し、データがない場合はクロックを合成する必要があります。 オーディオ データが停止すると、オーディオ ストリームは、KeQueryPerformanceCounter によって返されるレート マッチングとクロック周波数に基づいてシステム クロックを使用します。 他のすべてのストリームは、オーディオの下位として機能します。 つまり、パフォーマンスをオーディオ ストリームに同期します。
ソフトウェア オーディオ デコーダーは、ユーザー モードでサポートされている必要があります。 クロック フォワーダー DirectShow フィルターは、DirectShow クロックをミニドライバーに転送します。 これはミニドライバーに対して透過的です。
デコーダーは、プライマリ エレメンタリ ストリーム (PES) ヘッダーのタイム スタンプを使用してはなりません。
システム クロック参照 (SCR) は同期には使用されません。 Midrosoft の DVD アーキテクチャでは、オーディオとビデオの同期に "マスター クロック" パラダイムが使用されるため、DVD PACK の SCR フィールドは 0 に設定されます。
ミニドライバーにタイム スタンプの不連続性が表示されません。 DVD ナビゲーター/スプリッターは、すべてのタイム スタンプを連続させます。
デコーダーがオーディオとビデオの両方にデコード機能を提供する場合、デコーダーは、オーディオ ストリームがシステム マスター クロックとして開かれている場合にのみ、ハードウェア同期を使用できます。 オーディオ ストリームがマスター クロックでない場合、ビデオ ストリームはビデオ デコードをストリーム クラスのマスター クロックに同期する必要があります。