The CRenderedInputPin class is a base class for implementing an input pin on a renderer. This class is designed for renderer filters that do not derive from the CBaseRenderer class. (Filters that derive from CBaseRenderer should use the CRendererInputPin class for the input pin.)
To use this class, you must do at least the following:
- Declare a new pin class that inherits CRenderedInputPin.
- In your pin class, declare a critical section object to hold the streaming lock. You can use the CCritSec class for this purpose. For more information, see Threads and Critical Sections.
- Override CRenderedInputPin::EndOfStream to hold the streaming lock.
- Implement the IMemInputPin::Receive, CBasePin::CheckMediaType, and CBasePin::GetMediaType methods.
- In your filter, implement CBaseFilter::GetPin to return an instance of your pin class.
You can use this class in a renderer that has more than one input pin. This class inherits the CBaseInputPin class.
|Protected Member Variables||Description|
|m_bAtEndOfStream||Indicates whether the end of the stream was reached.|
|m_bCompleteNotified||Indicates whether the pin has sent an EC_COMPLETE event to the Filter Graph Manager.|
|Active||Notifies the pin that the filter is now active.|
|Run||Notifies the pin that the filter is now running.|
|EndFlush||Ends a flush operation.|
|EndOfStream||Notifies the pin that no additional data is expected until the filter receives a new run command.|