On Sun, Aug 10, 2014 at 12:25:33AM -0700, Andrew Kelley wrote: > > High quality libraries must iterate on their API. Especially for a library > trying to solve such a complex problem as audio and video encoding and > decoding for every codec and format. It is unreasonable to expect no > incompatible changes. Also both ffmpeg and libav codebases have a lot of > legacy cruft. Libav is making a more concentrated effort at improving this, > and the evolving API is a side-effect of that.
I beg to differ. My definition of a "high quality library" is one where careful design is taken into account when designing the ABI/API's in the first place, and which if absolutely necessary, uses ELF symbol versioning to maintain ABI compatibility. There are plenty of "high quality libraries" (glibc, libext2fs, etc.) where we've been able to maintain full ABI compatibility even while adding new features --- including in the case of libext2fs, migrating from 32-bit to 64-bit block numbers. And if you're careful in your design and implementation, the amount of cruft required can be kept to a very low minimum. - Ted _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel