[gst-devel] Re: Versioning of GStreamer

Thomas Vander Stichele thomas at apestaart.org
Fri May 12 08:16:07 CEST 2006


> > Your rollback statement is a little confusing.  I see two ways to
> > interpret it:
> Yeah, sorry. That was a pretty bad way to explain what I meant. What I meant
> that is when the major is changed, the minor becomes 0. Correct?

Yep, that's it.  I was confused because you chose the 9 -> 0 case :)


> > As a pretty much direct consequence of the ABI/API promises we make in
> > stable releases, it is pretty much guaranteed that, when Y is an even
> > number, A will always be 0, as will C, while B gently increases as we
> > add API (I hope I didn't make any mistakes here).
> This isn't libtool versioning--it's gstreamer versioning! ;-) GStreamer 0.8.9
> shipped libgstreamer-0.8.so.1.4.0. Also, 0.7.4 shipped
> libgstreamer-0.7.so.6.0.0. Are these backwards compatible with with the rest of
> their series?

No, this is still libtool versioning.  You just have to treat
libgstreamer-0.8.so* and libgstreamer-0.7.so* as two completely
different libraries for all practical purposes.  They're
parallel-installable, and you need to relink to switch between them.
0.7, because 7 is an odd number, was a development series that doesn't
make any ABI guarantees, hence it's normal for its first so number to
increase.

As Dave explained in another mail, it is true that
libgstreamer-0.10.so.1 was shipped, due to the reason he explains.  But
again, that is fine - libgstreamer-0.10.so.0 was actually still part of
an unstable release in the 0.9 series :) Confused yet ?

In the end, all that matters is that no stable release of GStreamer (ie,
the minor version number being even) will ever rev the first so number.

Thomas






More information about the gstreamer-devel mailing list