Microsoft DirectX 8.0

IMPEG2StreamIdMap インターフェイス

このインターフェイスは MPEG-2 デマルチプレクサ フィルタ (Demux) の各出力ピンで実装される。番組ストリーム モードでのみ使用される。アプリケーションや他のフィルタがピンと指定されたストリーム ID を組み合わせるために、そしてそのピンにサブストリーム フィルタリングがストリームに要求されているかどうかを知らせるためにこのインターフェイスを呼び出す。

トランスポート ストリームについては IMPEG2PIDMap インターフェイスを使用する。

メソッド名説明
MapStreamIdMPEG-2 番組ストリーム内の基本ストリームのストリーム ID をメディア内容タイプとサブストリーム情報にマップする。
UnmapStreamId以前の MapStreamId 呼び出しで作成されたストリーム ID マッピングを解除する。
EnumStreamIdMapこのピンにマップされているすべてのストリーム ID のコレクションを返す。

IMPEG2StreamIdMap::MapStreamId

IMPEG2StreamIdMap インターフェイス

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 つのオーディオ ストリームで複数チャンネルを提供するために最も普通に使われている。

IMPEG2StreamIdMap::UnmapStreamId

IMPEG2StreamIdMap インターフェイス

以前の MapStreamId 呼び出しで作成されたストリーム ID マッピングを解除する。

構文

HRESULT UnmapStreamId(
    ULONG culStreamId,
    ULONG* pulStreamID
);

パラメータ

culStreamId
[in] pulStreamID 配列内の要素の数を指定する ULONG 型の変数。
pulStreamID
[in] このピンにマップされたストリーム ID の配列。

戻り値

成功なら S_OK を返す。 メソッドが失敗すると、エラー情報は標準 COM IErrorInfo インターフェイスを使って取得できる。

注意

与えられたピンにマップされるストリーム ID は通常 1 つだけである、それゆえ pulStreamID は通常 1 つの要素だけをもつ。

IMPEG2StreamIdMap::EnumStreamIdMap

IMPEG2StreamIdMap インターフェイス

このピンにマップされているすべてのストリーム ID のコレクションを返す。

構文

HRESULT EnumStreamIdMap(
    IEnumStreamIdMap** ppIEnumStreamIdMap
);

パラメータ

ppIEnumStreamIdMap
[in] 返されるコレクションがセットされる IEnumStreamIdMap インターフェイス ポインタ。

戻り値

成功なら S_OK を返す。 メソッドが失敗すると、エラー情報は標準 COM IErrorInfo インターフェイスを使って取得できる。

注意

現在、与えられたピンにマップされるストリーム ID は 1 つだけである、それゆえこのコレクションは通常 1 つの要素だけをもつ。