I think that the problem has been solved now. I got the playback through DirectShow to work, and I put the playback into a glut window using the windows handle.
glutEnterGameMode(); //in window: glutCreateWindow("title");
hwnd = FindWindow(L"GLUT", NULL); //in window: FindWindow(L"GLUT", "title");
This should show how I got the handle for my glut window (or as in my case my fullscreen enterGameMode “window”.
In my playBack class I did as follows:
//TO GET IT INTO ANOTHER WINDOW:
m_videoWindow = NULL; //Get the video window
hr = m_graphBuilder->QueryInterface(IID_IVideoWindow, (void **)&m_videoWindow); //will return a IVideoWindow set of interfaces
printf("hr - videoWindow: %i
// Setup the video window to use our window handle
hr = m_videoWindow->put_Owner((OAHWND)hwndINP);
// Set the style of the video window
hr = m_videoWindow->put_WindowStyle(WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
// Get the size of the window
// Set the video size:
hr = m_videoWindow->SetWindowPosition(rect.left, rect.top, rect.right, rect.bottom);
hr is the HRESULT from DirectShow. All printf’s is just to check that everything runs as intended.
If anybody else needs cutscenes in their openGL game I hope that the above will help. Otherwise just ask if something is unclear!
EDIT: I forgot to say that it is not something that I made completely by myself. I copyed most from this link:
Just wanted to tell it so nobody thinks that Im trying to get credit for something another guy made!