[vlc-devel] CIL bindings and brain dump on LibVLC

Olivier Aubert olivier.aubert at liris.cnrs.fr
Mon Oct 22 12:23:33 CEST 2007


> I claim the mediacontrol API is *not* stable. Someone (before me) broke
> the ABI in the course of 0.9.0 development. Even though there was a
> promise that this would not happen.
I do not know who made this "promise". I did not, at last. Anyway, there
has been a fix following errors reported by pdherdemont (r.20009, on
2007/05/03). So I would rather call this "fix the API" (in a development
tree) rather than "break the API". Apart from that, the API has been
stable (and used) for almost two years (compare this to the various
libvlc API iterations...), just have a look at the svn logs.

> From an ABI perspective, there is no such thing as "almost stable".
> It is backward compatible or it is not. Here, it seems it is not
> backward compatible.
You are focusing on ABI compatibility, while there was never any
possibility since now to directly use a standard binary version of VLC,
and people always had to recompile their own VLC version to get proper
access to the bindings (in part because of your split of
libvlc/libvlc-control, which was indeed justified, but unfinished work
since it broke everything from the language bindings - which are fixed
since long - to the packaging - which is still not fixed). A non-really
existing ABI clearly cannot be broken.

To sum it up: we are talking from different perspectives. You are
talking from a designer/Q&A perspective, which is clearly appropriate
and needed for the next release of VLC. I am talking from the point of
view of a developper of a 3rd party application which has been using VLC
as component for video playback for more than 4 years, so who has
practical needs of adapting code as little as possible to be able to
concentrate on my application code.

> Besides, so long as mediacontrol and libvlc share the same SONAME,
> any ABI break of either of them will break the ABI of the other one,
> due to the version change in the SONAME.
I would love to have a stable ABI, so that I can use standard versions
of VLC instead of having to recompile bindings (or even the whole VLC)
for each VLC release, and believe me, I have more incentive than you to
have this stability, since time taken to adapt VLC is time lost for the
development of my application.

So please, do not drop support for the mediacontrol API for the next
release, there are people using it and who do not have the time to adapt
so quickly to changes. It is anyway isolated from the libvlc API,
clearly identified in the wiki as a generic wrapper around the libvlc
API.

Olivier





More information about the vlc-devel mailing list