Microsoft DirectX 8.0

ISmartRenderEngine Interface

Provides methods that support smart recompression in Microsoft® DirectShow® Editing Services (DES). The smart render engine exposes this interface. For more information on using ISmartRenderEngine, see Rendering a Project.

Requirements

Requires Qedit.h.

Methods in Vtable Order

IUnknown methodsDescription
QueryInterfaceRetrieves pointers to supported interfaces.
AddRefIncrements the reference count.
ReleaseDecrements the reference count.
ISmartRenderEngine MethodsDescription
SetGroupCompressorSpecifies a compression filter to use when rendering the specified group.
GetGroupCompressorRetrieves the compression filter for the specified group.
SetFindCompressorCBNot implemented.

ISmartRenderEngine::GetGroupCompressor

ISmartRenderEngine Interface

Retrieves the compression filter for the specified group.

Syntax

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

Parameters

Group
Zero-based index of the group.
pCompressor
Address of a pointer to receive the IBaseFilter interface of the compression filter. It receives the value NULL if there is no compression filter.

Return Value

Returns one of the following values.

E_INVALIDARGInvalid argument.
E_POINTERNULL pointer error.
S_OKSuccess.

Remarks

Use this method to set properties on the compression filter, such as the key-frame rate. Call this method after calling IRenderEngine::ConnectFrontEnd, but before rendering the project. Then query the compression filter's output pin for the IAMVideoCompression interface, which contains methods for setting compression parameters. Release the interface when you are done. If you make any subsequent changes to the timeline, call ConnectFrontEnd, and then call GetGroupCompressor again to reset the compression parameters.

On return, if the value of *pCompressor is non-NULL, the IBaseFilter interface has an outstanding reference count. Be sure to release the interface when you are done using it.

ISmartRenderEngine::SetFindCompressorCB

ISmartRenderEngine Interface

Not implemented.

Syntax

HRESULT SetFindCompressorCB(
    IFindCompressorCB *pCallback
);

ISmartRenderEngine::SetGroupCompressor

ISmartRenderEngine Interface

Specifies a compression filter to use when rendering the specified group.

Syntax

HRESULT SetGroupCompressor(
    long Group,
    IBaseFilter *pCompressor
);

Parameters

Group
Zero-based index of the group.
pCompressor
Pointer to the IBaseFilter interface of the compression filter.

Return Value

Returns S_OK if successful. Otherwise, returns E_INVALIDARG.