IMFSourceReaderEx::SetNativeMediaType メソッド (mfreadwrite.h)

メディア ソース上のストリームのネイティブ メディアの種類を設定します。

構文

HRESULT SetNativeMediaType(
  [in]  DWORD        dwStreamIndex,
  [in]  IMFMediaType *pMediaType,
  [out] DWORD        *pdwStreamFlags
);

パラメーター

[in] dwStreamIndex

[in] pMediaType

メディアの種類の IMFMediaType インターフェイスへのポインター。

[out] pdwStreamFlags

次のフラグの 0 個以上のビットごとの OR を受け取ります。

意味
MF_SOURCE_READERF_ALLEFFECTSREMOVED
ストリームからすべての効果が削除されました。
MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED
現在の出力の種類が変更されました。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK
正常終了しました。
MF_E_INVALIDREQUEST
無効な要求です。
MF_E_INVALIDSTREAMNUMBER
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

こちらもご覧ください

IMFSourceReaderEx