FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Development

 
 
LinkBack Thread Tools
 
Old 05-11-2010, 03:35 PM
Ben Hutchings
 
Default chromium-browser from experimental has included h.264 by default?

On Tue, May 11, 2010 at 05:27:31PM +0200, Giuseppe Iuculano wrote:
[...]
> chromium doesn't compile with the current version of ffmpeg in unstable
> because it is too outdated, this means I had three choices:
>
> - compile with use_system_ffmpeg=0 and build_ffmpegsumo=0 (this means
> drop ffmpeg support)
> - compile with use_system_ffmpeg=1 and build_ffmpegsumo=0 --> FTBFS
> - compile with use_system_ffmpeg=1 and build_ffmpegsumo=1 (this means
> compile and ship ffmpeg-mt)
>
> There was another solution, and this is now adopted in the latest
> experimental package, Compile with use_system_ffmpeg=1 and
> build_ffmpegsumo=0, but use the in-sources include path for headers, see
> [1] and [2].
[...]

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. As an example, see
what I do in dvswitch to work with different ffmpeg versions:

http://git.debian.org/?p=dvswitch/dvswitch.git;a=blob;f=src/avcodec_wrap.h;hb=master

Ben.

--
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
- Albert Camus


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20100511153520.GR16821@decadent.org.uk">http://lists.debian.org/20100511153520.GR16821@decadent.org.uk
 
Old 05-11-2010, 09:53 PM
Giuseppe Iuculano
 
Default chromium-browser from experimental has included h.264 by default?

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?


Cheers
Giuseppe
 
Old 05-11-2010, 10:37 PM
Julien Cristau
 
Default chromium-browser from experimental has included h.264 by default?

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
 

Thread Tools




All times are GMT. The time now is 12:40 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org