CBaseRenderer.GetState method

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The GetState method retrieves the filters's state (running, stopped, or paused).

Syntax

HRESULT GetState(
   DWORD        dwMilliSecsTimeout,
   FILTER_STATE *State
);

Parameters

dwMilliSecsTimeout

Time-out interval, in milliseconds.

State

Pointer to a variable that receives a member of the FILTER_STATE enumerated type, indicating the filter's state.

Return value

Returns one of the HRESULT values shown in the following table.

Return code Description
S_OK
Success.
VFW_S_STATE_INTERMEDIATE
The filter is transitioning to the indicated state.
E_POINTER
NULL pointer argument.

Remarks

This method overrides the CBaseFilter::GetState method. When the renderer is paused, it does not complete the state transition until it receives a sample to render. If the time-out expires before the state transition is complete, the method returns VFW_S_STATE_INTERMEDIATE.

Requirements

Requirement Value
Header
Renbase.h (include Streams.h)
Library
Strmbase.lib (retail builds);
Strmbasd.lib (debug builds)

See also

CBaseRenderer Class