[Ffmpeg-devel] Using ffmpeg libs in an OSS project is a nightmare

Michael Niedermayer michaelni
Sat Aug 6 11:07:44 CEST 2005


On Saturday 06 August 2005 08:56, Kenneth Lavrsen wrote:
> >Added.
> >
> > > Problem 1 and the most severe and EASY TO FIX
> > >
> > > From your website: "New, official "releases" are few and far between.
> > > In short, if you want to work with FFmpeg, you are advised to go along
> > > with CVS development rather than relying on formal releases."  This is
> > > the key problem. This is BAD ADVICE and a BAD POLICY. At least it is
> > > for the libraries. Maybe this is acceptable for the command line tools
> > > which do
> >
> > not
> >
> > > change user interface that much and where the user adjustment is keying
> > > something different. But for the libraries changing API all the time
> > > this is a nightmare.
> >
> >There is a solution to this problem available to you: Include a working
> >CVS snapshot of FFmpeg in Motion.  It's what many other projects
> >building on FFmpeg do, at the very least all the players, i.e. MPlayer,
> >xine, vlc, avifile, tcvp.
> But it is a very bad solution because ffmpeg is not just used for Motion.
> If it was it was not a big issue. But ffmpeg is used for so many other
> projects. Project that most people have and are using also. And it creates
> nothing but errors, trouble, bug reports, people giving up when they both
> have some old RPM of ffmpeg installed, and then install from sources from
> some CVS snapshot. It is totally out of control.

distributions which are far behind cvs head or even have just the yearly 
releases are not supported in any way by me/us? and i dont care at all what 
happens to them, these old releases have _known_ security bugs and any work 
toward making them more useable is work toward getting the users systems 
hacked, thats not something i want to contribute to

> I get support questions daily related to ffmpeg. I am so tired of this
> situation. And I am sure maintainer of other project feels like I do.
> 90% of users download and install an RPM. Only few install from sources.
> And then it always ends up with downloading some RPM from Dag, or ATRPMs or
> Livna and then things break. MPlayer does not work or Motion does not work.

well you are ignoring the suggestions of both the ffmpeg & mplayer developers 
and then complain that libav*+mplayer breaks what do you expect?

> All the time because you guys change the API for the libs more often than I
> change my underwear 

ok thats the first valid complaint in your mail, we should really try harder 
to avoid api breakage 

> and with no change control, release notes, 

there are release notes, they are called cvslog, if you dislike that, just 
volunteer to write better ones for the cvs snapshots, and just to preempt the 
obvious troll, the number of changes in the snapshots are the same as in 
releases over time X so its not really more work

> What does it take to do a release?
> You have an automatic script making a "release" every day. What is it that
> takes so long that you cannot give it a version number and upload it to the
> Sourceforge file area?
> If you start doing that - lets say every 3 or 6 months - the well known
> packagers will for sure take only these and create their packages. You guys
> only need to produce the source tar.gz.
> There is always one more bug! There is always one more known problem not
> yet resolved. If you wait for the day that ffmpeg is just perfect you will
> die unhappy.
> The purpose of formal releases is to give the projects that depend on it -
> and the end users - BASELINES. And to give us a some reasonable conditions
> so that we known we do not have to fight with ever changing APIs. Just the
> last 2 months I have had to update Motion TWICE because of libavformat API
> changes. And I am only using the mpeg1 / mpeg4 / msmpeg4 codecs.

calling a random or not random snapshot every 3 month a release will IMHO not 
help much, you still have to deal with every single API change and thouse who 
use cvs or a non release snapshot will have a lot of problems, now thouse 
using cvs are the developers and they are much more important then the users 
simply because a project with no developers is a dead project, it depends 
upon them
the real problem are the API changes and the fact noone cares about the shared 
lib support (we just have an army of trolls complaining)

furhermore ffmpeg is a free software project developed by volunteers, if you 
want something done/changed/... the first and absolutely necessary thing is 
to volunteer to do the related work, you cant expect us to do what you want 
for you for free


More information about the ffmpeg-devel mailing list