次の方法で共有


ストリームの同期

DVD ストリーム入力は、2 つ以上のストリームで構成される場合があります。 ストリーム クラス ドライバーは、DVD デコーダー ミニドライバーの代わりに透過的に同期を処理できます。 詳細については、「ミニドライバーの同期」を参照してください。 プログラマは、DVD ストリームに影響を与える次のような要因を認識する必要があります。

  • オーディオ ストリームはマスター クロックを提供し、データがない場合はクロックを合成する必要があります。 オーディオ データが停止すると、オーディオ ストリームは、KeQueryPerformanceCounter によって返されるレート マッチングとクロック周波数に基づいてシステム クロックを使用します。 他のすべてのストリームは、オーディオの下位として機能します。 つまり、パフォーマンスをオーディオ ストリームに同期します。

  • ソフトウェア オーディオ デコーダーは、ユーザー モードでサポートされている必要があります。 クロック フォワーダー DirectShow フィルターは、DirectShow クロックをミニドライバーに転送します。 これはミニドライバーに対して透過的です。

  • デコーダーは、プライマリ エレメンタリ ストリーム (PES) ヘッダーのタイム スタンプを使用してはなりません。

  • システム クロック参照 (SCR) は同期には使用されません。 Midrosoft の DVD アーキテクチャでは、オーディオとビデオの同期に "マスター クロック" パラダイムが使用されるため、DVD PACK の SCR フィールドは 0 に設定されます。

  • ミニドライバーにタイム スタンプの不連続性が表示されません。 DVD ナビゲーター/スプリッターは、すべてのタイム スタンプを連続させます。

デコーダーがオーディオとビデオの両方にデコード機能を提供する場合、デコーダーは、オーディオ ストリームがシステム マスター クロックとして開かれている場合にのみ、ハードウェア同期を使用できます。 オーディオ ストリームがマスター クロックでない場合、ビデオ ストリームはビデオ デコードをストリーム クラスのマスター クロックに同期する必要があります。