CBaseRenderer Class
A version of this page is also available for
4/8/2010
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 |
CRendererPosPassThru object 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 CBaseRenderer returns 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_evComplete event into a nonsignaled state. |
|
Puts the m_evComplete event 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 CBasePin object to the renderer. |
|
Returns the number of input pins supported. |
|
Retrieves IMediaPosition and IMediaSeeking interfaces 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::Receive method 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 |