Writing a game, and I'd like some cutscenes in the middle. In windowed mode, the DirectShow classes work perfectly and are easy to use. But when the game is fullscreen, I can't get DirectShow to show a fullscreen cutscene.
Basically, when I have a D3D Device initialized, I can't get the video to display, even with IVideoWindow.put_Fullscreen(true). I'm guessing that DirectShow just can't do fullscreen with a D3D Device.
So, I tried releasing my D3D Device while the cutscene plays and reinitializing it again after. This seems to work pretty well, but when DirectShow plays fullscreen, it seems to steal focus from my app's main window and not give it back when it's finished. That then causes DirectInput to fail to acquire the device again afterwards (gives me an "Access Denied" error code). I tried SetForegroundWindow() before acquiring, but that doesn't fix it, so that may not be the problem after all.
Anyway, long story short, all I want is a fullscreen cutscene in the middle of my D3D app. Is there a preferred way to accomplish this? Can I do it by having DirectShow output to my D3D primary surface? I think that would fix the problems I'm having.