> >I'm not sure I agree here - I think the GStreamer team has a > better grasp of > >the real issues here than most. And by the way, why can't > Ardour be turned > >into a GStreamer plugin? The GStreamer team would probably > appreciated the > >changes required to make that happen.
With respect I don't think Ardour could be made a plugin of *anything* ;) . But seriously, if something can be loaded as a shared lib and it has an API that gives access to memory structures then an optimal GStreamer plugin can be implemented. As far as communicating between processes goes, there needs to be a defined protocol and that is what JACK/LADMEA is all about. GStreamer plugins could be written for either of these IPC mechanisms with no tweaking of GStreamer internals. > I've talked with both the GStreamer people and also with someone > involved in the prehistory of GStreamer. GStreamer doesn't have the > same design goals as JACK. It had an even more different design goals > when it started (mostly a way to buffer jitter in a media stream). > The challenges of making it into an RT-friendly, audio h/w friendly > framework that worked across application boundaries amount, in my > mind, to a complete reimplementation (and perhaps more). GStreamer is RT-friendly and audio h/w friendly. However its purpose is not to allow multimedia applications to communicate with each other. As for JACK vs LADMEA within GStreamer, I'm still sitting on the fence as to which will be implemented first. The obvious answer is which framework reaches maturity first and how many other applications support that framework. Also there is no reason why plugins for other frameworks can't be written later. A JACK implementation provides a few challanges since its callback model provides a buffer to populate with data so we need some way of making sure the same buffer comes out of the other end of the pipeline. I won't bore you with the specifics but I can think of several ways around this issue. To be honest I haven't grokked the LADMEA header enough to know how hard a gstreamer implementation would be. cheers
