Microsoft DirectX 8.0

ISmartRenderEngine インターフェイス

Microsoft® DirectShow® 編集サービス (DES) のスマート再圧縮をサポートするメソッドを提供する。スマート レンダリング エンジンは、このインターフェイスを公開する。ISmartRenderEngine の使い方の詳細については、「プロジェクトのレンダリング」を参照すること。

要件

Qedit.h が必要である。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterfaceサポートされているインターフェイスへのポインタを取得する。
AddRef参照カウントをインクリメントする。
Release参照カウントをデクリメントする。
ISmartRenderEngine メソッド説明
SetGroupCompressor指定されたグループをレンダリングするときに使用する圧縮フィルタを指定する。
GetGroupCompressor指定されたグループの圧縮フィルタを取得する。
SetFindCompressorCB実装されていない。

ISmartRenderEngine::GetGroupCompressor

ISmartRenderEngine インターフェイス

指定されたグループの圧縮フィルタを取得する。

構文

HRESULT GetGroupCompressor(
    long Group,
    IBaseFilter **pCompressor
);

パラメータ

Group
ゼロから始まるグループのインデックス。
pCompressor
[out] 圧縮フィルタの IBaseFilter インターフェイスを受け取るポインタのアドレス。圧縮フィルタがない場合は、値 NULL を受け取る。

戻り値

次のいずれかの値を返す。

E_INVALIDARG無効な引数。
E_POINTERNULL ポインタ エラー。
S_OK成功。

注意

このメソッドを使って、キー フレーム レートなどの圧縮フィルタのプロパティを設定する。このメソッドは、IRenderEngine::ConnectFrontEnd を呼び出した後、プロジェクトをレンダリングする前に呼び出す。次に、圧縮パラメータ設定用のメソッドが含まれる IAMVideoCompression インターフェイスについて、圧縮フィルタの出力ピンに照会する。使用が終わったらインターフェイスを解放する。それ以降にタイムラインに変更を加えた場合は、ConnectFrontEnd を呼び出してから GetGroupCompressor を呼び出し、圧縮パラメータを再設定しなければならない。

復帰時に *ppCompressor の値が NULL 以外の場合、IBaseFilter インターフェイスは未処理のカウントを持つ。使い終わった場合は、インターフェイスを必ず解放すること。

ISmartRenderEngine::SetFindCompressorCB

ISmartRenderEngine インターフェイス

実装されていない。

構文

HRESULT SetFindCompressorCB(
    IFindCompressorCB *pCallback
);

ISmartRenderEngine::SetGroupCompressor

ISmartRenderEngine Interface

指定されたグループをレンダリングするときに使用する圧縮フィルタを指定する。

構文

HRESULT SetGroupCompressor(
    long Group,
    IBaseFilter *pCompressor
);

パラメータ

Group
ゼロから始まるグループのインデックス。
pCompressor
圧縮フィルタの IBaseFilter インターフェイスへのポインタ。

戻り値

成功した場合は、S_OK を返す。それ以外の場合は、E_INVALIDARG を返す。