future of ABIs (was Re: [gst-devel] amarok)
uraeus at linuxrising.org
Tue Mar 16 13:38:22 CET 2004
Ok, probably a stupid question, but what are about a upwards ABI
stability? Is that more doable? Meaning that we stay stable in regards
to application using GStreamer, but not in terms of plugin and other
On Tue, 2004-03-16 at 12:29 -0800, David Schleef wrote:
> On Tue, Mar 16, 2004 at 08:30:18PM +0100, Christian Schaller wrote:
> > Well if we are comparable to a widget tookit I don't see why we can't
> > work like GTK+ works, who manages to maintain ABI compatability accross
> > releases. Why can't we to just add new API and deprecate old ones like
> > GTK+ do, but not actually remove the old API's before we are ready to do
> > a major version number switch?
> The object heirarchy is not the hard part. The hard part are
> things like GstCaps -- in order to ABI-stably change caps, I
> would have had to properly migrate GstElement and GstPad to new
> object classes. Once you've decided that you need to change
> something like GstElement, you might as well bump the ABI.
> The problem at this point in time is that the GStreamer core is
> still mostly full of these types of subsystems that need to be
> completely rethought and rewritten, which will affect large
> sections of code.
> A compounding problem is that whenever these systems are rewritten,
> somebody loses. The big loser in the GstCaps change was gst-launch.
> You can no longer expect a pipeline created in gst-launch to
> always come up with decent frame sizes, rates, etc. -- this was
> a conscious decision to give applications more power over choosing
> formats, and gst-launch is just dumb about it.
> So in a future scheduling rewrite, say, the loser might be loop
> based elements or other elements that make it fundamentally
> difficult to schedule elements properly. So if we decided that
> loop-based elements were the root of all scheduling evil, we
> would still be stuck with having to support them.
> This SF.Net email is sponsored by: IBM Linux Tutorials
> Free Linux tutorial presented by Daniel Robbins, President and CEO of
> GenToo technologies. Learn everything from fundamentals to system
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
More information about the gstreamer-devel