On Tue, May 11, 2010 at 23:53:51 +0200, Giuseppe Iuculano wrote: > Il 11/05/2010 17:35, Ben Hutchings ha scritto: > > > How can you expect this to work? The ABI of the system ffmpeg libraries > > is not going to match the ABI defined by the bundled headers. You must > > patch chromium to work with the system ffmpeg headers. > > chromium doesn't link against the ffmpeg libraries, it dlopen() them, so > you are right for libavcodec52 libavformat52, but for libavutil50 > it searches /usr/lib/chromium-browser/libavutil.so.50 , and this is a > symlink to /usr/lib/libavutil.so.50 . > If it doesn't find it you have the "Aw, Snap!" message or the "Sorry, > your browser does not support the <video> element." message. > In a standard Debian system, and with standard I mean a system with no > other third repositories, simply it doesn't use that lib. > > At this point I removed that patch and made a new one that affects only > libavutil50 (not yet available in the archive): > > -#include <libavutil/avutil.h> > -#include <libavutil/log.h> > +#include "patched-ffmpeg-mt/libavutil/avutil.h" > +#include "patched-ffmpeg-mt/libavutil/log.h" > > > > So if I'm not wrong now there isn't any ABI incompatibility here because > libavutil50 doesn't exist as official package. > Is this acceptable? > No. Either you use the headers from the internal ffmpeg, and you link in (or dlopen) the internal ffmpeg. Or you use the system headers, and you link against the system library. Anything else is a recipe for random crashes.
Cheers, Julien
signature.asc
Description: Digital signature