次の方法で共有


IRenderEngine インターフェイス

IRenderEngine インターフェイスは、タイムラインからフィルタ グラフを作成することにより、DirectShow 編集サービス (DES) プロジェクトをレンダリングする。

DES は、このインターフェイスを実装する 2 つのコンポーネントを提供している。

  • "基本レンダリング エンジン" は、圧縮されていない出力を生成する。この出力は、プレビューに使え、また圧縮フィルタを経由して最終出力ファイルの書き込みにも使える。
  • "スマート レンダリング エンジン" は、スマート再圧縮を使って圧縮された出力を生成する。スマート再圧縮を使うと、ソース ファイルのフォーマットが出力フォーマットと異なる場合にのみ、ソース ファイルが再圧縮される。ソースのフォーマットが一致している場合は、出力ファイルに直接書き込まれる。状況によっては、スマート再圧縮を使うことでレンダリング時間を大幅に改善できる。

スマート レンダリング エンジンは、ISmartRenderEngine インターフェイスもサポートしている。

アプリケーションでフィルタ グラフを作成してレンダリング エンジンに渡すことはできるが、通常の状況では、レンダリング エンジンにフィルタ グラフを作成させる。グラフの作成は、2 段階の処理で行われる。まず、IRenderEngine::ConnectFrontEnd メソッドを呼び出してフロント エンドを作成する。次に、フロント エンドの出力ピンを目的のレンダリング フィルタに接続する。

  • プレビュー用のビデオ レンダラおよびオーディオ レンダラ、または
  • コンプレッサ、マルチプレクサ、最終出力を生成するファイル ライタ。

IUnknown から継承したメソッドに加えて、IRenderEngine インターフェイスは次のメソッドを公開する。

メソッド 説明
Commit 実装されていない。
ConnectFrontEnd 現在のタイムラインからフィルタ グラフのフロント エンドを作成する。
Decommit 実装されていない。
DoSmartRecompression サポートされていない。
GetCaps 実装されていない。
GetFilterGraph レンダリング エンジンが作成したフィルタ グラフ (ある場合) を取得する。
GetGroupOutputPin 指定されたグループの出力ピンを取得する。
GetTimelineObject レンダリング エンジンが現在使っているタイムラインを取得する。
GetVendorString ベンダー文字列を取得する。
RenderOutputPins フィルタ グラフのプレビュー部分を作成する。
ScrapIt レンダリング エンジンのフィルタ グラフおよび関連付けられているすべてのオブジェクトを破棄する。
SetDynamicReconnectLevel レンダリング時の動的再接続のレベルを設定する。
SetFilterGraph 使うレンダリング エンジン用のフィルタ グラフを指定する。
SetInterestRange サポートされていない。
SetInterestRange2 サポートされていない。
SetRenderRange レンダリングされる時間の範囲を設定する。
SetRenderRange2 レンダリングされる時間の範囲を double 型で設定する。
SetSourceConnectCallback サポートされていない。
SetSourceNameValidation レンダリング エンジンがファイル名を検証する方法を指定する。
SetTimelineObject 使うレンダリング エンジン用のタイムラインを設定する。
UseInSmartRecompressionGraph サポートされていない。

要件

ヘッダー : Qedit.h をインクルードする。このヘッダー ファイルは、バージョン 7 以降の Microsoft® Direct3D® のヘッダーとは互換性がない。

ライブラリ : strmiids.lib を使用。

参照