IMFTransform::SetOutputType メソッド (mftransform.h)
この Media Foundation 変換 (MFT) の出力ストリームのメディアの種類を設定、テスト、またはクリアします。
構文
HRESULT SetOutputType(
[in] DWORD dwOutputStreamID,
[in] IMFMediaType *pType,
[in] DWORD dwFlags
);
パラメーター
[in] dwOutputStreamID
出力ストリーム識別子。 ストリーム識別子の一覧を取得するには、 IMFTransform::GetStreamIDs を呼び出します。
[in] pType
IMFMediaType インターフェイスへのポインター、または NULL。
[in] dwFlags
_MFT_SET_TYPE_FLAGS列挙体の 0 個以上 の フラグ。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
変換では、提案されたメディアの種類を使用できません。 |
|
ストリーム識別子が無効です。 |
|
提案された型が無効です。 このエラー コードは、メディアの種類自体が正しく構成されていないことを示します。たとえば、相互に矛盾するフラグが含まれている場合があります。 |
|
MFT では、データの処理中に型を切り替えることはできません。 MFT をドレインまたはフラッシュしてみてください。 |
|
出力の種類を設定する前に、入力の種類を設定する必要があります。 |
|
MFT では、適切な DirectX ビデオ アクセラレーション (DXVA) 構成が見つかりませんでした。 |
注釈
このメソッドは、メディアの種類を設定、設定せずにテスト、またはクリアするために使用できます。
- メディアの種類を設定するには、 dwFlags を 0 に設定し、 pType を、メディアの種類を指定する NULL 以外のポインターに設定します。
- メディアの種類を設定せずにテストするには、 dwFlags を MFT_SET_TYPE_TEST_ONLY に設定し、 pType を、メディアの種類を指定する NULL 以外のポインターに設定します。 メディアの種類が許容される場合、メソッドは S_OKを返します。 それ以外の場合は、 MF_E_INVALIDMEDIATYPEを返します。 戻り値に関係なく、現在のメディアの種類は変更されません。
- メディアの種類をクリアするには、 pType を NULL に設定します。
MFT では、出力の種類を設定する前に、呼び出し元が 1 つ以上の入力型を設定する必要がある場合があります。 その場合、メソッドは MF_E_TRANSFORM_TYPE_NOT_SETを返します。
MFT が DirectX Video Acceleration (DXVA) をサポートしていても、適切な DXVA 構成が見つからない場合 (グラフィックス ドライバーに適切な機能がない場合など)、メソッドは MF_E_UNSUPPORTED_D3D_TYPEを返す必要があります。 詳細については、「 Media Foundation での DXVA 2.0 のサポート」を参照してください。
mftransform.h を含める前に MFT_UNIQUE_METHOD_NAMES が定義されている場合、このメソッドの名前は MFTSetOutputType に変更されます。 「ハイブリッド DMO/MFT オブジェクトの作成」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mftransform.h |
Library | Mfuuid.lib |