MPEG-2 スプリッタの使い方
注 : Microsoft® Windows® XP では、MPEG-2 スプリッタ フィルタの使用を避けること。代わりに MPEG-2 デマルチプレクサを使う。
MPEG-2 スプリッタ フィルタは、次のストリーム タイプのうち少なくとも 1 つを含む MPEG-2 プログラム ストリームのプルモード再生をサポートする。
- MPEG-2 ビデオ
- MPEG-2 オーディオ
- DVD-Video 定義によってエンコードされた Dolby AC-3 オーディオ
- DVD-Video 定義によってエンコードされた LPCM (Linear Pulse Code Modulated) オーディオ
MPEG-2 スプリッタがサポートするメディア タイプの一覧については、「MPEG-2 スプリッタ メディア タイプ」を参照すること。
MPEG-2 スプリッタは、トランスポート ストリームを解析しない。トランスポート ストリームには MPEG-2 デマルチプレクサ フィルタを使う (プッシュ モードのみ)。
タイム スタンプ
MPEG-2 プログラム ストリームを再生するとき、MPEG-2 スプリッタ フィルタは、最初に現れるシステム クロック参照を、ストリームの時間の原点として取り扱う。この動作は、プレゼンテーション時間スタンプを使う MPEG-1 ストリーム スプリッタとは異なる。IAMParse::GetParseTime メソッドは、処理したデータに対応するストリーム システム クロック タイムを返す (推定値の可能性がある)。
MPEG-2 スプリッタ フィルタは、不連続性のプロパティが設定された入力サンプルがあった場合 (不連続性のプロパティは IMediaSample::SetDiscontinuity または IMediaSample2::SetProperties で設定できる)、データ内の最初のパックまでスキップし、そのパックのシステム クロック参照 (SCR) と不連続の前の SCR 時間が同じものと見なされるように、そのタイム スタンプを調整する。SCR クロックが前か後に 1 秒を超えてジャンプしている場合には、(MPEG-2 プログラム ストリームの仕様に従って) これも不連続なクロックとして扱われ、ダウンストリーム フィルタに渡るタイム スタンプから、明らかなクロック差が減算される。
ストリームの選択
MPEG-2 プログラム ストリームを再生するときには、プログラム ストリームを走査して最初に見つかったビデオ ストリームとオーディオ ストリームが選択される。オーディオ出力ピンとビデオ出力ピンが、それぞれ 1 つまでサポートされる。IAMStreamSelect インターフェイスを使うと、同じタイプのストリームを複数 (システム ヘッダーにオーディオの上限として指定された数まで) 選択できる。MPEG-2 オーディオの場合、現時点では、ストリーム 0xC0 から始まる連続したストリームが想定されている。
サポートされるインターフェイス
MPEG-2 スプリッタ フィルタは、次のインターフェイスをサポートする。
- IAMParse—MPEG-2 プログラム ストリームのみ
- IAMStreamSelect—MPEG-2 プログラム ストリームのみ。オーディオ ストリームのみ
- IMediaSeeking—バイト モードのシークを含む
参照