|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.|
Copy transform filters might be required to set the properties of the allocator into which they are copying. This is likely if the downstream filter has provided a newly created allocator (that is, one that hasn't passed an allocator from farther downstream), or if the output pin is forced to create its own allocator. In this case, the pure virtual CBaseOutputPin::DecideBufferSizemember function is called from the CBaseOutputPin::DecideAllocatormember function, and the derived class fills in the requirements for the buffer by calling the IMemAllocator::SetPropertiesmethod on the allocator object to which it has a reference.
The CTransInPlaceFilter::DecideBufferSizemethod is never called, because the allocator of another filter is always in use. It is implemented in the base class header file to return E_UNEXPECTED.
Last updated on Tuesday, May 18, 2004