次の方法で共有


ICaptureGraphBuilder::RenderStream メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

メモICaptureGraphBuilder インターフェイスは非推奨です。 代わりに ICaptureGraphBuilder2 を使用してください。
 
必要に応じて指定されたカテゴリのソース フィルターのピンをレンダリング フィルターに接続し、必要に応じて別のフィルターを介して接続します。

構文

HRESULT RenderStream(
  [in] const GUID  *pCategory,
  [in] IUnknown    *pSource,
  [in] IBaseFilter *pfCompressor,
  [in] IBaseFilter *pfRenderer
);

パラメーター

[in] pCategory

接続するソース フィルターの出力ピンを指定する GUID へのポインター。 すべてのピン カテゴリの一覧については、「 Pin プロパティ セット 」を参照してください。 NULL は 、カテゴリに関係なく、唯一の出力ピンをレンダリングします。

[in] pSource

ソース フィルターまたは出力ピンを表す IBaseFilter または IPin インターフェイスへのポインター。 ソース フィルターは通常、AVI ファイル ソース フィルターやキャプチャ フィルターなどのファイル ソース フィルターです。

[in] pfCompressor

オプションの圧縮フィルターを表す IBaseFilter インターフェイスへのポインター。

[in] pfRenderer

レンダラーを表す IBaseFilter インターフェイスへのポインター。 この値を指定するには、ICaptureGraphBuilder::SetOutputFileNameppf (マルチプレクサー) パラメーターを使用できます。

戻り値

キャプチャ フィルターにキャプチャ ピンはあるがプレビュー ピンがない場合にVFW_S_NOPREVIEWPINを返し、キャプチャ ピンの &PIN_CATEGORY_PREVIEW カテゴリを使用して を呼び出 RenderStream します。 この場合、 RenderStreamスマート ティー フィルターのプレビュー ピンをレンダリングします。 詳細については、「解説」を参照してください。

注釈

pCategoryNULL 以外の Pin プロパティ セット GUID と pSource のキャプチャ フィルターを指定した場合、このメソッドは、TV チューナーやクロスバーなどの追加の必要なアップストリーム フィルターをインスタンス化して接続します。 その後、 pSource のキャプチャ ピンがレンダリングされます。

pSource がピンの場合は、pCategoryNULL を指定し、このメソッドはそのピンからストリームをレンダリングします。

ソース フィルターに出力ピンが 1 つしかない場合は、pCategoryNULL を指定します。

パラメーターとして指定された pSourcepfCompressorおよび pfRenderer フィルターは、このメソッドが呼び出される前にグラフに存在する必要があります。

WDM キャプチャ フィルターを使用するキャプチャ グラフを作成する場合、このメソッドは、必要なすべてのアップストリーム フィルターとダウンストリーム フィルターを構築します。

新しい WDM VPE (ビデオ ポート拡張機能) ビデオ キャプチャ ハードウェアで動作する一部のキャプチャ フィルターには、プレビュー用のプレビュー ピンではなく、ビデオ ポート ピンがあります。 ビデオ ポート ピンは、ビデオ レンダラーに直接接続するのではなく、 オーバーレイ ミキサーと呼ばれる特殊なフィルターに接続します。 アプリケーションでは、このことを心配する必要はありません。 必要なのは、PIN_CATEGORY_PREVIEW を使用して を呼び出す RenderStream 必要がある場合、キャプチャ グラフ ビルダーがオーバーレイ ミキサーを介して VIDEO PORT ピンを正しくレンダリングすることです。

(PIN_CATEGORY_CAPTURE または PIN_CATEGORY_PREVIEW カテゴリで を使用して RenderStream ) ビデオ キャプチャ フィルターのキャプチャ ピンまたはプレビュー ピンをレンダリングし、キャプチャ フィルターにキャプチャ ピンがあるがプレビュー ピンがない場合、 Smart Tee フィルターが自動的に使用され、同時キャプチャとプレビューが可能になります。 たとえば、PIN_CATEGORY_CAPTURE カテゴリを使用して を呼び出すと RenderStream 、実際にはスマート ティー フィルターがフィルターのキャプチャ ピンに接続され、スマート ティーのキャプチャ ピンがレンダリングされます。 キャプチャ ピンの PIN_CATEGORY_PREVIEW カテゴリを使用して を呼び出 RenderStream すと、実際にはスマート ティーのプレビュー ピンがレンダリングされます。 PIN_CATEGORY_PREVIEW で を呼び出すと RenderStream 、キャプチャ ピンとスマート ティー フィルターが使用される場合、 RenderStream これを示すVFW_S_NOPREVIEWPINが返されます。 したがって、 FindInterface で プレビュー インターフェイスが見つからない場合は、キャプチャ フィルターのキャプチャ ピンのダウンストリームを調べることでプレビュー インターフェイスを見つけることができるため、PIN_CATEGORY_PREVIEW カテゴリと PIN_CATEGORY_CAPTURE カテゴリを使用して FindInterface を呼び出す必要があります。

要件

要件
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)

こちらもご覧ください

エラーコードと成功コード

ICaptureGraphBuilder インターフェイス