Hi, On Mon, 14 Jan 2013 20:34:42 -0800 ""Paweł Hajdan, Jr."" <[email protected]> wrote:
> I'm trying to make Chromium be more compatible with more versions of > ffmpeg: > <https://groups.google.com/a/chromium.org/d/topic/chromium-dev/fm5Oe_AC3Sc/discussion> > (although not stated there, that includes libav). I've done quite a lot of work for various packages among the past years on that side, so if you have specific questions, feel free to ask. > Now the initial response there is not enthusiastic (which doesn't > surprise me), but do you think there are some points useful for the > discussion I'm not aware of? I don't get what is the problem: chromium uses an internal version corresponding to ffmpeg git master and doesn't build with older ones? What is the min. version it works with? As a distro we have two options: 1) patch chromium to add #if's for older ffmpeg versions and be compatible: this may or may not be accepted by upstream, supporting older versions is just garbage code for them. 2) (preferred) coordinate the other packages to be compatible with newer versions and unmask latest (we should be very close to be able to unmask ffmpeg-1) and make chromium require this version (this require chromium upstream to figure out what is the min. req. version) we should probably do something in-between 1 and 2 in order not to hold off sec. stabilizations of chromium because dozens of stable packages do not build with latest ffmpeg. > What are the main challenges of keeping up-to-date with latest ffmpeg > API changes? How do other projects deal with that? Specify a min. supported version, use #if for what remains. It may be easy or quite a lot of work, depending on what part of the API is used. ATM, being compatible with ffmpeg 0.10 up to git master isn't _that_ heavy on #if's (see eg: http://dev.gentoo.org/~aballier/distfiles/xbmc-11.0-ffmpeg-1.0-compat-1.tar.bz2 ) but may require a lot of changes. Usually, if you build with the latest ffmpeg release and don't see any deprecation warning, you are safe for ~1 year or more. IMHO a compatibility layer like you suggest on your link will be a pain, #if's are easier to handle. Alexis.
