Microsoft DirectX 8.0

IFindCompressorCB Interface

This interface provides a callback method that enables an application to specify a compressor for a particular media type.

Note The component designed to use this interface (the smart render engine) is currently not implemented to do so.

To do smart recompression, the render engine must be able to find the right compression filters. The IFindCompressorCB interface is a way for the application to choose the compressor. To use this interface, first implement it in your application. Then, give the render engine a pointer to the interface by calling the ISmartRenderEngine::SetFindCompressorCB method.

Note If you know beforehand what compressor a timeline group should use, a more straightforward approach is to call the ISmartRenderEngine::SetGroupCompressor method with a pointer to the compressor. Also, the render engine will search for an appropriate compressor if the application does not specify one.

Requirements

Requires Qedit.h.

Methods in Vtable Order

IUnknown methodsDescription
QueryInterfaceRetrieves pointers to supported interfaces.
AddRefIncrements the reference count.
ReleaseDecrements the reference count.
IFindCompressorCB methodsDescription
GetCompressorRetrieves a compression filter for the specified media type.

IFindCompressorCB::GetCompressor

IFindCompressorCB Interface

Retrieves a compression filter for the specified media type.

Syntax

HRESULT GetCompressor(
    AM_MEDIA_TYPE *pType,
    AM_MEDIA_TYPE *pCompType,
    IBaseFilter **ppFilter
);

Parameters

pType
Pointer to an AM_MEDIA_TYPE structure that describes the uncompressed media type.
pCompType
Pointer to an AM_MEDIA_TYPE structure that describes the compression format.
ppFilter
[out] Address of variable that receives a pointer to the compression filter's IBaseFilter interface. If the method fails, it sets this pointer to NULL.

Return Value

Returns S_OK if successful. Otherwise, returns an error code that depends on the implementation.