Technology and Creativity - Q's Brain Dump

Notes, thoughts, questions, musings of Daniel Quaroni

I Give Up, Microsoft. Looks Like DirectShow Is Dead.

| Comments

Tags: programming

On Sunday the crew and I (Bryan and Anthony) tried to record commentary for the latest GTC race, a 1.5 hour enduro at Silverstone. Bryan had reinstalled his operating system and had upgraded it to Windows 8.1 and the RaceViewer software I’d written that lets me remotely start all of our videos at once so we can comment in synch wasn’t working on his system. I tried it out on my Windows 8.0 machine and it was crashing for me (which isn’t quite what happened to him – I think he basically saw nothing happen at all). It was still running fine on Windows 7.

I loaded it up the solution in Visual Studio on my Win8 machine and discovered that the DirectShow filters that I used to use (Specifically in the Microsoft.DirectX.AudioVideoPlayback Assembly) don’t exist in Windows 8. I recall having to install a DirectX runtime or update or sdk to get them on Windows 7, but I tried installing something like 3 different things and they either wouldn’t install (1 due to me already having a version of DX later than it was, and 1 due to an error with some code I didn’t bother to investigate during installation) or they didn’t add the AudioVideoPlayback assembly. Eventually I got sick of banging my head against that wall and tried going a different route. Now I’m loading a Windows Media Player instance into my form. I don’t like it as much because WMP seems to start playing the file when I call axWindowsMediaPlayer1.URL = fileName and I can’t seem to stop it despite trying to call axWindowsMediaPlayer1.Ctlcontrols.pause(). With the old DirectX player I could load the video then call play when I was ready, which guaranteed minimum delay between me pushing the start button on my computer and Bryan and Anthony’s video players starting. Now with WMP there could be a small delay as their systems load the video then start playing.

But Bryan reports to me that he can load the new RaceViewer, so that seems to have solved the problem. We’ve got a backlog of 2 (Well, 3 if you count this week’s race that we didn’t get a replay file of and won’t bother recording anyway since it was pretty poorly attended) races to record so we need to get to it.