Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
The easiest solution for writing a transform filter is to use the transform filter classes, which work well for most types of transform filters.
Typically, a noncopying transform filter is derived from the CTransInPlaceFilterclass and its associated pin classes; a copy transform filter is derived from the CTransformFilterfilter class and its associated pin classes.
Transform filter classes are hierarchical, with the transform-inplace classes at the bottom of the hierarchy tree. CTransInPlaceFilteris derived from CTransformFilter, which is derived from CBaseFilter.
The CTransInPlaceInputPinclass is derived from the CTransformInputPinclass. The CTransformInputPinclass is derived from the CBaseInputPinclass.
The CTransInPlaceOutputPinclass is derived from the CTransformOutputPinclass. The CTransformOutputPinclass is derived from the CBaseOutputPinclass.
Copy transform and transform-inplace classes share many characteristics, because the transform-inplace classes derive almost all member functions from the copy transform classes.
The principal addition made by the transform classes over the base classes is that all required pin member functions are implemented. So, for default implementation, you need only to derive a main filter class (from CTransInPlaceFilteror CTransformFilter).