I think the easiest way is the first one. Just update the image source. If you just want to display it, you don't need a directshow filter for this. But if you also want to capture it, the DirectShow filter is the best way!
Updating the image-source is an easy task. A good example for this is the Mjpeg decoder for .net. You just need to replace the Mjpeg reader/parser with your own grabber logic.