We have a small DirectShow program that opens a .wtv file, builds a graph, and sends the output of one of the pins (Line 21) to a custom filter that saves the data to a file. The program is working correctly for some files, but fails for others. The program was written by someone in vworker who seem to have fallen off the face of the earth (doesn't connect anymore, no emails, etc), so he can't continue the work, but he did tell us was the problem was - he just didn't fix it.
Fundamentally the problem is that the program, as is, assumes that the data is on specific pins (it builds the graph totally hardcoded, it expects the CC data in pin 2 for example, rather than enumerating what's in each pin).
The job here of course is to make the program work in all available samples. Which seems reasonably easy if you know a bit of directshow. We took a look at the source code (we have coders in-house, but no experience with DirectShow) and it seems more or less simple - just enumerate each pin capabilities and select the right one, of if there's a way to have the graph automatically built do it instead. The custom filter that writes the data works well; no changes on it - it's just the small program that builds the graph that needs some working on.
I'm attaching a picture from the programmer which is rather useful. The file on the left won't open at all. The one on the right works well, because it has the expected structure.
The source code of the program is available here:
[url removed, login to view]
(so as you can see it's an open source program)
We will provide a number of samples (both working and not working) to the winning bidder.