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. |
This is the base renderer class for writing renderers.
This class handles a single input pin, all state changes, and synchronization.
Protected Data Members
Member | Description |
---|---|
m_bAbort |
Used to stop rendering data. |
m_bEOS |
Indicator for whether there are more samples in the stream. |
m_bEOSDelivered |
Indicator for whether an EC_COMPLETE event has been delivered. |
m_bRepaintStatus |
Flag to determine if an EC_REPAINT message can be signaled. |
m_bStreaming |
Indicator for whether the filter graph is currently streaming. |
m_dwAdvise |
Timer advise token returned by the clock. |
m_EndOfStreamTimer |
Time that specifies the end of the stream. |
m_evComplete |
Event signaled when the pause state is complete. |
m_InterfaceLock |
Critical section for interfaces. |
m_pInputPin |
Renderer input pin object. |
m_pMediaSample |
Current media sample about to be or being rendered. |
m_pPosition |
CRendererPosPassThruobject for passing positioning data upstream. |
m_pQSink |
Quality control sink. |
m_RendererLock |
Controller for access to current media sample. |
m_RenderEvent |
Used to signal timer events. |
m_SignalTime |
Amount of time that must elapse before CBaseRendererreturns EC_COMPLETE. |
m_ThreadSignal |
Event signaled to release the source filter thread. |
Member Functions
Member function | Description |
---|---|
Is called when the state is switched to paused or running. Override to add functionality. |
|
Constructs a CBaseRenderer object. |
|
Determines if the event is set. |
|
Displays the status of the video renderer. Available only in debug mode. |
|
Retrieves the actual state of the renderer. |
|
Retrieves the event to render. |
|
Determines if the end of the stream has been reached. |
|
Determines if the end of the stream has been delivered to the filter graph manager. |
|
Determines if the filter is currently rendering data. |
|
Sends an EC_COMPLETE event to the filter graph manager. |
|
Forces the m_evCompleteevent into a nonsignaled state. |
|
Puts the m_evCompleteevent into a signaled state. |
|
Sets the end of stream timer to zero. |
|
Sets up an advise link with the clock. |
|
Passes the notification window handle to the upstream filter. |
|
Conditionally signals an EC_REPAINT message to the filter graph. |
|
Sets the abort signal flag. |
|
Resets the repaint status flag. |
|
Resets the current advise time to zero after a timer fires. |
|
Checks if it is time to signal the end of the current data stream. |
Overrideable Member Functions
Member function | Description |
---|---|
Signals the start of flushing on the input pin. |
|
Breaks the input pin connection and resets the end-of-stream flags. |
|
Cancels scheduled notification with the clock. |
|
Determines if the renderer will accept a given media type. |
|
Is called to release the pending sample after it is rendered. |
|
Called as part of the connection protocol. Override to add functionality. |
|
Ensures that a sample is waiting before allowing a pause. |
|
Is called when a sample is ready to render. |
|
Is called when the input pin receives an end-flush notification. |
|
Is called when the input pin receives an end-of-stream notification. |
|
Retrieves the sample waiting at the video renderer. |
|
Returns a CBasePinobject to the renderer. |
|
Returns the number of input pins supported. |
|
Retrieves IMediaPositionand IMediaSeekinginterfaces for the video renderer. |
|
Retrieves sample time information for this sample. |
|
Determines if a sample is waiting at the renderer. |
|
Is called when going into a stopped state. Override to add functionality. |
|
Returns an interface and increments the reference count. |
|
Provides derived classes with an opportunity to render static data. |
|
Notifies the derived class that a sample is finished rendering. |
|
Notifies the derived class that a sample is about to be rendered. |
|
Notifies the derived class that rendering has started. |
|
Notifies the derived class that rendering has stopped. |
|
Notifies the derived class that a wait for a rendering time has just ended. |
|
Notifies the derived class that a wait for a rendering time is about to start. |
|
Tells the renderer to transition to the new (paused) state. |
|
Is called to schedule a clock time when the renderer receives a sample. |
|
Allows derived classes to set themselves just before a sample is rendered. |
|
Is called by the source filter when a sample is available to render. |
|
Asks the derived class to render the sample. |
|
Resets the end-of-stream flag. |
|
Transitions the renderer to State_Running if it is not in this state. |
|
Sets the end-of-stream flag. |
|
Informs the derived class of the selected media type. |
|
Determines if the sample should be drawn between the start and stop times given. |
|
Sets or resets the thread event. |
|
Called to schedule a pending sample with the clock, and to display timing information. |
|
Tells the renderer to transition to the new (stopped) state. |
|
Sets an internal flag to indicate not to schedule arrival of more samples. |
|
Waits for either the time to arrive or for rendering to be stopped. |
Implemented IMediaFilter Methods
Method | Description |
---|---|
Determines the state of the renderer. |
Implemented IBaseFilter Methods
Method | Description |
---|---|
Retrieves a pointer to the pin with the specified identifier. (There is only one pin.) |
Helper Function
Function | Description |
---|---|
Waits for the CBaseRenderer::Receivemethod to complete. |
Requirements
Windows Embedded CE | Windows CE 2.12 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
Note | Microsoft DirectShow applications and DirectShow filters have
different include file and Library requirements
For more information, see Setting Up the Build Environment |