Tuppo

I have written a custom source filter for my application and was wondering is there a way to use the filter without having to register it. For instance if I wanted to use my application on another computer that computer does not have to have my filter registered to use it.

Could I use it as a class object and not use CoCreateInstance on it

Thanks



Re: DirectShow Development Custom Source Filter

Michel Roujansky

On his download page http://www.gdcl.co.uk/downloads.htm , Geraint Davies has samples with creation of filters using new instead of CoCreateInstance (AppFilter).




Re: DirectShow Development Custom Source Filter

Bowljoman

CaptureText9 also shows a clear example of the same.





Re: DirectShow Development Custom Source Filter

Tuppo

Where is the CaptureText9 example located

Thanks





Re: DirectShow Development Custom Source Filter

Tuppo

Found the captureTex9 sample. Only problem is none of them use CSource or CSourceStream, CSource in the construct wants a CLSID which I do not know if its safe to put GUID_NULL. Anyone know of any examples that use either one of these as a class rather then a DLL to register.

Thanks





Re: DirectShow Development Custom Source Filter

Michel Roujansky

What is preventing you from passing a CLSID to the constructor It will never be registered anyway.




Re: DirectShow Development Custom Source Filter

donJuan

Well all I have to say is good luck and probably depends on how you use the source filter as to whether it will work.

I create a timeline and wanted our MOV sources to use a filter without me having to register it. So I tried the following:

+ I added the MOV source filter to the graph by hand (call addfilter) - this did not work

+ I called IAMTimelineObj:Tongue TiedetSubObjectGUID and that will only work if it is registered. You can also see that someone had intended to support IAMTimelineObj:Tongue TiedetSubObject( filterpointer ) which would do the trick, but it is not supported.

+ I tried IGraphBuilder::AddSourceFilter() which doesn't work because in order to get the graphbuilder i called renderengine->connectfrontend which connects all the filters, so you can't add it at that point