IMFSourceReaderEx::SetNativeMediaType メソッド (mfreadwrite.h)
メディア ソース上のストリームのネイティブ メディアの種類を設定します。
構文
HRESULT SetNativeMediaType(
[in] DWORD dwStreamIndex,
[in] IMFMediaType *pMediaType,
[out] DWORD *pdwStreamFlags
);
パラメーター
[in] dwStreamIndex
[in] pMediaType
メディアの種類の IMFMediaType インターフェイスへのポインター。
[out] pdwStreamFlags
次のフラグの 0 個以上のビットごとの OR を受け取ります。
値 | 意味 |
---|---|
|
ストリームからすべての効果が削除されました。 |
|
現在の出力の種類が変更されました。 |
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
無効な要求です。 |
|
dwStreamIndex パラメーターが無効です。 |
注釈
このメソッドは、メディア ソースによって生成される出力の種類を設定します。 IMFSourceReader::SetCurrentMediaType メソッドとは異なり、このメソッドはデコーダー、ビデオ プロセッサ、またはその他の変換を挿入しません。 メディア ソースは、指定されたメディアの種類をネイティブにサポートする必要があります。 メディア ソースからサポートされている型の一覧を取得するには、 IMFSourceReader::GetNativeMediaType を呼び出します。
非同期モードでは、サンプル要求が保留中の場合、このメソッドは失敗します。 その場合は、 OnReadSample コールバックが呼び出されるまで待ってから、 メソッドを呼び出します。 非同期モードでのソース リーダーの使用の詳細については、「 IMFSourceReader::ReadSample」を参照してください。
このメソッドは、ストリームの出力形式の変更をトリガーできます。 その場合、 MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED フラグは pdwStreamFlags パラメーターで返されます。 また、このメソッドにより、 IMFSourceReaderEx::AddTransformForStream メソッドによって追加された効果がソース リーダーによって削除される場合もあります。 この場合、 MF_SOURCE_READERF_ALLEFFECTSREMOVED フラグは pdwStreamFlags で返されます。
この方法は、デバイスが複数の出力形式をサポートしている可能性があるため、オーディオおよびビデオ キャプチャ デバイスで役立ちます。 このメソッドを使用すると、デコーダーやその他の変換を追加する前に、アプリケーションでデバイス形式を選択できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfreadwrite.h |