This is the first part of a three-part question series. I'll post the other parts after this. They're related, but different enough to merit another topic and more points. This question is worth 1000 points. I'll drop the other 500 in another topic after I've chosen an answer.
Now, on to the question. First the background. I've been developing some webcam software for a while now, it's working quite well using the technologies in the question topic; Delphi 6 and DSPack (available at http://www.progdigy.com
). You can check it out at http://asym.macroshell.com/sc2
Ok, so if you've checked out the app, maybe given it a test-spin, or just looked at the screenshot, you know what it's about. Directshow enabled webcam software, builds a filterchain (thanks to dspack) and captures stills.
I've been working on adding video capture/streaming for a while, and recently I gave TASFWriter a shot, which comes with the latest version of DSPack. TASFWriter works almost well enough for me to use, it has built in support for capturing the stream to a .asf file, and serving it streams over the network to be viewed by windows media player.
I can't for the life of me figure out how to switch on/off the two modes of operation for TASFWriter. By default, it captures to a file AND opens a socket for streaming video. I need the option to do this as-is (archiving live shows I guess), but also options to disable the file creation, or disable the streaming. Rarely will the user want to stream _and_ capture to a file. Most often I imagine they'll only want to stream. Occasionally they may want to capture to a file. So far I've been unable to get anywhere with this. The DSPack forums are nearly dead, and searching them resulted in one topic with a how-to that doesn't work, involving deleting the file writing filter and adding the network filter.
Points go to whoever gives me a working method (with code examples, I'm a DSPack/Directshow newbie) to use TASFWriter but DISABLE it's file output. That is, to force it to operate in a network-stream-only mode. I will accept a decendant or derivative of the TASFWriter code if you can't figure out how to make it work as-is. I don't know enough about COM to figure out where to even start with disabling this; I don't even know where the file writer is getting created.
I'm also interested in disabling the network stream and doing file-only mode, but that's not nearly as important to me. People can live with the socket being temporarily open I imagine, especially if I set it to one user maximum and have the program connect itself to tie up that user. What they can't live with is running a streaming webcam for a few hours or days and being forced to endure a multi-hundred-megabyte .asf file created as a result.