cplussharp / graph-studio-next

GraphStudioNext is a tool for developers to build and test DirectShow Graphs
355 stars 94 forks source link

Create COM server DLL version of GraphStudioNext for editing internal filter graphs within other applications #158

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I'd like to have this feature in the programm:

Wrap GraphStudioNext as a COM server DLL to view and edit existing internal 
filter graphs from within other applications.

Could be a very useful diagnostic feature for people coding other DirectShow 
applications even if they only used it in-house.

This is useful if there are operations that can't be done on a remote graph - 
for example property pages that use COM interfaces that don't have any 
proxy/stub support for use across process boundaries.

Should be an IUnknown based server rather than IDispatch/automation based as a 
client application needs to use IUnknown based DirectShow interfaces to use 
DirectShow.

The feature is important for me because:
Examining and editing filter graphs within other applications in details that 
are impossible when connected to a remote graph.

What would the licensing situation be for a COM server based on 
graphstudionext? Could a closed source application compile against the COM 
interface for this without violating GPL v3 terms?

The feature is important for other users because:

Original issue reported on code.google.com by mike.cop...@gmail.com on 17 Jun 2013 at 6:50

GoogleCodeExporter commented 9 years ago
If we do this, I think the best license would be the LGPL. I have played with 
the idea to switch to the LGPL before. But we need to ask Igor (RadScorpion), 
if we can do this. He is still the author of the main parts of the programm.

If I understand the GPL license right, it is enough to depend on something 
under GPL, to be forced to also be under a GPL-Like license.

Original comment by cgraef...@gmail.com on 17 Jun 2013 at 8:21

GoogleCodeExporter commented 9 years ago
Presumably it's possible to write GPL v3 COM server components that implement 
externally defined interfaces (e.g. a GPL v3 DirectShow filters that implement 
DirectShow COM interfaces published by Microsoft). 

So if the graphstudionext COM component implemented a non-GPL simple generic 
COM interface for communicating with a plugin filter graph editor, building an 
application against that interface wouldn't require GPL v3 compliance. 
Providing the COM component alongside an application or requiring its 
installation would require GPL v3 compliance though. 

Or is that logic contrary to the spirit of GPL v3? It is a bit of a grey area.

Original comment by mike.cop...@gmail.com on 17 Jun 2013 at 11:04

GoogleCodeExporter commented 9 years ago
I suppose that licensing is affecting inclusion or non-inclusion of DLL version 
of GSN into third party distribution. 

Any application can legally do CoCreateInstance(GSN), then 
pGsn->ShowStuff(pFitlerGraph) regardless from whether GSN is LGPL or GPL.

LGPL version of GSN gives more flexibility to ship GSN right with the product, 
to redistribute the GSN as component.

Original comment by rylt...@gmail.com on 13 Jan 2014 at 1:35