PS: before anyone sends me mails, we know that WineX's QUARTZ DLL is LGPL'ed
I've been thinking (waits for the applause to die down). DirectShow is similar in style and architecture to GStreamer right? They both use graphs of connected elements. Would it be possible to use GStreamer to implement Quartz?
Pros: * Saves potentially a lot of work, depending on how big DirectShow is. * GStreamer is written in C, under the LGPL (though licenses of codecs vary) * Get lots of codecs for free.
Cons: * Are they too different? Would it be like trying to map comctrl onto Tk? * Adds an extra dependancy on GStreamer. Still, all distros with gnome2.2 (ie all of them) ship with it on the CDs. * I don't know what I'm talking about, so I could be being dumb.
Thoughts?
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
I've been thinking (waits for the applause to die down). DirectShow is similar in style and architecture to GStreamer right? They both use graphs of connected elements. Would it be possible to use GStreamer to implement Quartz?
i had the same idea, while looking xine code ;)
Pros:
- Saves potentially a lot of work, depending on how big DirectShow is.
- GStreamer is written in C, under the LGPL (though licenses of codecs
vary)
- Get lots of codecs for free.
And better, we can add a wine->gstreamer plugin who can use windows codecs (using wine infra to use it) mplayer have already a code for that using a little of wine code.
Cons:
- Are they too different? Would it be like trying to map comctrl onto
Tk?
i don't think, but gstreamer isn't complete as dshow yet ;(
- Adds an extra dependancy on GStreamer. Still, all distros with
gnome2.2 (ie all of them) ship with it on the CDs.
we can easily "dlopen" it on run-time. The problem is: can gstreamer work on all unix platforms ?
- I don't know what I'm talking about, so I could be being dumb.
lol maybe ;)
Thoughts?
Regards, Raphael
I've been thinking (waits for the applause to die down). DirectShow is similar in style and architecture to GStreamer right? They both use graphs of connected elements. Would it be possible to use GStreamer to implement Quartz?
/me applauds..
Tom, add Mike as the new Quartz maintainer :-)
Actually, we may use this solution, but I really never looked at it to see if it's doable. It could be, but on the other hand, one could say 'Win32 GUI is similar in style to GTK+, you have buttons and sliders and widgets, so let's use GTK+ to do Win32 GUI elements' :-)
Moreover, when you see this :
trace:quartz:Graphbuilder_RenderFile(0x403c3680/0x403c3680)->(L"r:\sshock2\cutscenes\cs1.avi" (0x40682a80), (null) ((nil))): stub !!! trace:quartz:Graphbuilder_FindFilterByName (0x403c3680/0x403c3680)->(L"LG Video Renderer" (0x4068294c), 0x4068262c): stub !!!
You see that the application expects to have their own renderer to be used... So it complicates a bit all the stuff if GStreamer chooses one for us which is not the one the application expects.
Finally, the hard part is not (I think) how to implement it, but how DShow works (there are hundreds of COM interfaces / objects and most is constructed 'automagically' by 'Graphbuilder_RenderFile'). Once we have the logic in place to build this graph the same way Windows applcations expects us to build it, then we will have done most of the work I think and the rest is only code stealing :-)
Lionel
Lionel Ulmer wrote:
/me applauds..
Tom, add Mike as the new Quartz maintainer :-)
Done ;)
let the patches commence :))
Tom