Microsoft DirectX 8.0

IMpeg2Demultiplexer インターフェイス

このインターフェイスは MPEG-2 デマルチプレクサ フィルタ (Demux) 上で実装され、番組ストリーム モードとトランスポート ストリーム モードの両方で用いられる。アプリケーションや他のフィルタが Demux 上で出力ピンを作成、構成、削除する際に呼び出される。

メソッド名説明
CreateOutputPinDemux に新しい出力ピンを作成する。
SetOutputPinMediaType指定された出力ピンのメディア タイプをアップデートする。(DirectX® 8 では実装されていない。)
DeleteOutputPin指定された出力ピンを削除する。

IMpeg2Demultiplexer::CreateOutputPin

IMpeg2Demultiplexer インターフェイス

Demux に新しい出力ピンを作成する。

構文

HRESULT CreateOutputPin(
    AM_MEDIA_TYPE* pMediaType,
     LPWSTR pszPinName,
      IPin** ppIPin
    );

パラメータ

pMediaType
[in] 新しいピンのメディア タイプ情報を指定する AM_MEDIA_TYPE 構造体へのポインタ。
pszPinName
[in] 新しいピンのアプリケーション定義のフレンドリ名を指定するワイド キャラクタ文字列へのポインタ。
ppIPin
[out] 新しいピンの IPin インターフェイスにセットされるポインタ。

戻り値

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

注意

同じ名前のピン名は許可されない。返される IPin インターフェイス は IMPEG2StreamIdMap インターフェイス (番組ストリーム用) あるいは IMPEG2PIDMap インターフェイス (トランスポート ストリーム用) に対して新しいピンをクエリするために用いられる。最初の出力ピンとしてどのインターフェイスがクエリされるかを基に、Demux は自分自身をトランスポート ストリーム モードあるいは番組ストリーム モードのどちらかに構成する。Demux が一度構成されると、別のインターフェイスを取得する QueryInterface への呼び出しは失敗する。

IMpeg2Demultiplexer::SetOutputPinMediaType

IMpeg2Demultiplexer インターフェイス

指定された出力ピンのメディア タイプをアップデートする。(DirectX® 8 では実装されていない。)

構文

HRESULT SetOutputPinMediaType(
    LPWSTR pszPinName,
    AM_MEDIA_TYPE* pMediaType
    );

パラメータ

pszPinName
[in] ピンが CreateOutputPin の呼び出し時に作成されたとき指定されたピンのフレンドリ名。
pMediaType
[in] ピンに対して新しいメディア タイプを指定する AM_MEDIA_TYPE 構造体へのポインタ。

戻り値

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

注意

DirectX 8 では、ピンが作成されたときのメディア タイプがピンにアサインされなければならない。そのメディア タイプは後で変更することができない。

ピンは新しいメディア タイプでいつでも再構成可能である。接続していなければ、メディア タイプは単にアップデートされるだけである。そのピンが接続されていると、ダウンストリーム入力ピンが指定されたメディア タイプを許容するか拒否するかによって、その呼び出しが成功あるいは失敗する。

メディア タイプは Demux では解釈されない。その解釈は出力ピンによる接続ネゴシエーション中にだけ行われる。メディア サンプルの内容からは解釈されない。メディア サンプルの内容は PID が IMPEG2PIDMap::MapPID メソッドの MEDIA_SAMPLE_CONTENT パラメータでマップされるとき、あるいは IMPEG2StreamId::MapStreamId 呼び出しに定義された値によって定義される。

IMpeg2Demultiplexer::DeleteOutputPin

IMpeg2Demultiplexer Interface

指定された出力ピンを削除する。

構文

HRESULT DeleteOutputPin(
    LPWSTR pszPinName
    );

パラメータ

pszPinName
[in] ピンが CreateOutputPin の呼び出し時に作成されたとき指定されたピンのフレンドリ名。

戻り値

成功なら S_OK を返す。 エラー情報は標準 COM IErrorInfo インターフェイスを使って取得できる。

注意

フィルタを残したままピンを削除する必要があるときにのみ、このメソッドを呼び出すこと。フィルタは解放されるとき、出力ピンで必要なすべてのクリーン アップを行う。