DSPack playing / Controlling movie through DLL
Posted on 2006-10-24
I want to use use DSPack from with a DLL to create a video window and play back a video. The video window should be created within another non delphi application by calling the DLL from that application. Creating a DLL and calling it from another application is not a problem, it is just the DSPack elements I am having trouble with.
I have tried this so far:
//create the filter graph
FilterGraph := TFilterGraph.Create(nil);
//I tried both these options below
//VideoWindow := TVideoWindow.Create(nil);
VideoWindow := TVideoWindow.CreateParented(AW.hwnd); //AW.hwnd is the Window Handle of the application calling the DLL, so I have the handle OK
//Just hard coding these values at the minute until I get it working. They will ultimately be passed as part of the DLL call
VideoWindow.Width := 320;
VideoWindow.Height := 240;
FilterGraph.Active := true;
If I un-comment FilterGraph.ClearGraph I get an access violation. if I comment it out, I don't get an access violation, but neither do I get a video window with a video playing. When I close the application calling the DLL I get the standard "program has encountered a problem and needs to close" dialog box inviting me to imform uncle Bill! Maybe the Video Window has not been cleanly destroyed??
Ultimately I wish to do the 'standard' things you may wish to do with a video such as play pause, stop etc as well as respond to events from the DSPack components from within the DLL
Any help appreciated.