[FFmpeg-devel] What's up with the API and ABI?
pross at xvid.org
Thu Apr 28 14:00:36 CEST 2011
On Thu, Apr 28, 2011 at 01:19:35PM +0200, Michael Niedermayer wrote:
> On Tue, Apr 26, 2011 at 06:29:12PM +0200, Luca Abeni wrote:
> > Hi all,
> > since the infamous ffmpeg/libav split, a good number of programs using
> > ffmpeg libraries started to break because of arbitrary renamings...
> > That's annoying (it forces me to fill the programs with funky ifdefs to
> > support the git checkout of the day), but I can live with it.
> Iam unhappy about it as well, the code quality is very much going down
> since libav does not review patches technically at all and we pull them
> stefanos qpeg patch from a few hours ago is an
> example. Its wrong but they want stefano to join libav and leave ffmpeg
> so its all nice "looks good to me", anyway iam working on fixing that
> > But today I found a new interesting bug introduced for the sake of it: I
> > had a program calling " url_fopen(&o->outctx->pb, o->output_file,
> > URL_WRONLY);" (which was AFAIK legal until some days ago) which started
> > to fail in a misterious way.
> > At the end, I found out that url_fopen() now does "return avio_open(s,
> > filename, flags);"... But the avio_open() flags are completely different
> > from the url_fopen() flags (AVIO_FLAG_WRITE is 2, while URL_WRONLY is
> > 1... Calling url_fopen() with URL_WRONLY results in trying to open a
> > file _for reading_!).
> oops, fixed locally will push soon
> thanks alot for reporting
> > So, if you really want to rename url_fopen() (why? Just because
> > avio_open() is more trendy?) you have to either remove url_fopen() and
> > its flags, or update the flags values. Keeping a broken url_fopen() is
> > much worse than removing it without deprecation.
> yes, of course
Michael, just to clarify...
1. the FFmpeg approach is to support both old and new APIS via branches ?
2. 'master' branch provides the >= 0.7 API (and is compatible with the many hundreds
of api changes introduced by the libav faithful) ?
3. 'oldapi' branch provides the <= 0.6.x API ?
4. and both branches are functionaly equivalent ?
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 198 bytes
Desc: Digital signature
More information about the ffmpeg-devel