Microsoft DirectX 8.0 |
このインターフェイスは MPEG-2 デマルチプレクサ フィルタ (Demux) の各出力ピンで実装される。番組ストリーム モードでのみ使用される。アプリケーションや他のフィルタがピンと指定されたストリーム ID を組み合わせるために、そしてそのピンにサブストリーム フィルタリングがストリームに要求されているかどうかを知らせるためにこのインターフェイスを呼び出す。
トランスポート ストリームについては IMPEG2PIDMap インターフェイスを使用する。
メソッド名 説明 MapStreamId MPEG-2 番組ストリーム内の基本ストリームのストリーム ID をメディア内容タイプとサブストリーム情報にマップする。 UnmapStreamId 以前の MapStreamId 呼び出しで作成されたストリーム ID マッピングを解除する。 EnumStreamIdMap このピンにマップされているすべてのストリーム ID のコレクションを返す。
MPEG-2 番組ストリーム内の基本ストリームのストリーム ID をメディア内容タイプとサブストリーム情報にマップする。
構文
HRESULT MapStreamId( ULONG ulStreamId, DWORD MediaSampleContent, ULONG ulSubstreamFilterValue, int iDataOffset );
パラメータ
- ulStreamId
- [in] PES ストリームのストリーム ID を指定する ULONG 型の変数。
- MediaSampleContent
- [in] ストリームの内容を指定する ULONG 型の変数。現在サポートされている値は MPEG2_PROGRAM_ELEMENTARY_STREAM (axextend.idl で 0x00000001 と定義されている) のみである。
- ulSubstreamFilterValue
- [in] この基本ストリーム内のどのサブストリームをダウンストリーム デコーダに渡すかを指定する ULONG 型の変数。低オーダー バイトだけに有効な値が入っている。iDataOffset = 0 なら、このパラメータは無視される。
- iDataOffset
- [in] サブストリーム開始点のバイト オフセットを指定する int 型の変数。
戻り値
成功なら S_OK を返す。 メソッドが失敗すると、エラー情報は標準 COM IErrorInfo インターフェイスを使って取得できる。
注意
このメソッドがマップするストリーム ID は PES ヘッダー内のストリーム ID である。サブストリーム フィルタリングは 1 つのオーディオ ストリームで複数チャンネルを提供するために最も普通に使われている。
以前の MapStreamId 呼び出しで作成されたストリーム ID マッピングを解除する。
構文
HRESULT UnmapStreamId( ULONG culStreamId, ULONG* pulStreamID );
パラメータ
- culStreamId
- [in] pulStreamID 配列内の要素の数を指定する ULONG 型の変数。
- pulStreamID
- [in] このピンにマップされたストリーム ID の配列。
戻り値
成功なら S_OK を返す。 メソッドが失敗すると、エラー情報は標準 COM IErrorInfo インターフェイスを使って取得できる。
注意
与えられたピンにマップされるストリーム ID は通常 1 つだけである、それゆえ pulStreamID は通常 1 つの要素だけをもつ。
このピンにマップされているすべてのストリーム ID のコレクションを返す。
構文
HRESULT EnumStreamIdMap( IEnumStreamIdMap** ppIEnumStreamIdMap );
パラメータ
- ppIEnumStreamIdMap
- [in] 返されるコレクションがセットされる IEnumStreamIdMap インターフェイス ポインタ。
戻り値
成功なら S_OK を返す。 メソッドが失敗すると、エラー情報は標準 COM IErrorInfo インターフェイスを使って取得できる。
注意
現在、与えられたピンにマップされるストリーム ID は 1 つだけである、それゆえこのコレクションは通常 1 つの要素だけをもつ。