I have a project where I need to record a video using DirectShow from a webcam, but I need to be able to stop recording while the preview continues to run.
I am usin
If you can accept a momentary pause in preview when you start/stop recording and don't want to use something like a 2 graph GMFBridge approach, you can disconnect either the capture pin on the video capture source filter (assuming you are using separate preview and a capture pins from your source filter) or disconnect the File Writer chain portion of your capture sub-graph.
The issue here is the filtergraph must be paused before changes can be made to its topology, so you'd need to:
Pause Graph Disconnect or Reconnect File Writer chain Resume Graph
In my experience the temporary pause is not very noticeable.
Please use StreamControl method of ICaptureGraphBuilder2, it provides you to control any filter in your Graph individually.
I don't know about the WPFMediaKit, but basically when you want to start/stop recording while keeping the preview, you will need two graphs, and something to connect between those graphs. Take a look at the pdf document at the GMFBridge page.