|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.|
Switches the entire filter graph into a running state.
HRESULT Run( );
Returns S_OK if the graph is actually running.
Returns S_FALSE if the graph is preparing to run (the graph will run automatically when it's ready). Call GetStateto wait for the transition to the running state to complete or to check if the transition has completed. If the method returns S_FALSE, subsequent calls to GetStatewill return a value of State_Runningwhen the graph is actually running. If the transition to the running state is not complete GetStatecan return a return code of VFW_S_STATE_INTERMEDIATE.
Returns an HRESULTerror code if the graph could not run and is now stopped.
In a running state, data is pushed down the filter graph and rendered. The graph remains in a running state until it is stopped by the IMediaControl::Pauseor IMediaControl::Stopmethod. The graph remains in a running state even after notifying the application of completion (that is, the EC_COMPLETEnotification is sent to the application). This allows the application to determine whether to pause or stop after completion.
If the filter graph is in the stopped state, this method first pauses the graph before running.
If an error value is returned, some filters within the graph might have successfully entered the running state. In a multistream graph, entire streams might be playing successfully. The application must determine whether to stop running or not.