When compiled with ffmpeg USE flag, chromium doesn't play videos. Also if I turn the ffmpeg flag off the ebuild doesn't honor it, -Duse_system_ffmpeg=1 is hardcoded Reproducible: Always Steps to Reproduce: 1.compile www-client/chrome 2.Try to open an html5 video (h264 or ogg) Actual Results: Shows only the player controls, no video/audio, according to gdb a thread keep spawning everytime you click on play Expected Results: Play the video/audio After researching the forums I saw some people with the same problem but looks like no one managed to get chromium to play the videos. I created a patch and a new ebuild, it's fixed for me using these. Portage 2.1.7.16 (default/linux/amd64/10.0, gcc-4.3.4, glibc-2.10.1-r1, 2.6.31-gentoo-r6 x86_64) ================================================================= System uname: Linux-2.6.31-gentoo-r6-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9450_@_2.66GHz-with-gentoo-1.12.13 Timestamp of tree: Thu, 25 Feb 2010 22:45:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.0_p35 dev-java/java-config: 2.1.10 dev-lang/python: 2.6.4 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.6.4-r3 sys-apps/baselayout: 1.12.13 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc: 4.3.4 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2 -mtune=core2 -msse4.1 -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -march=core2 -mtune=core2 -msse4.1 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" LINGUAS="en" MAKEOPTS="-j8" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.samerica.gentoo.org/gentoo-portage" USE="64bit X acl acpi alsa amd64 apm berkdb bzip2 cairo cdr cleartype cli consolekit cracklib crypt cups cxx dbus device-mapper directfb disk-partition dri dvd dvdr emerald extras faac faad fbcon ffmpeg flac fontconfig fortran gd gdbm git glitz gnome gpm gtk iconv ipv6 java jpeg kde mmx mmxext modules mp3 mp4 mudflap multilib multiuser ncurses nls nptl nptlonly ogg openal opengl openmp pam pango pcre perl png pppd pulseaudio python readline reflection sdl session speex spl sse sse2 sse3 ssl ssse3 svg sysfs tcpd theora threads truetype unicode v4l2 vorbis x264 xattr xcb xcomposite xorg xpm xv zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vmware nvidia fbdev vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 221275 [details, diff] fix ffmpeg branding so we can benefit from h264 internal codec should go into files directory for the ebuild, this is not a fix, is a hack to use the internal ffmpeg with h264 when compiling as chromium
Created attachment 221277 [details] new ebuild for chromium This is the new ebuild: - applies the patch when we don't use ffmpeg; - fix the hardcoded ffmpeg useflag - fix the internal ffmpeg include header to use the same codecs as Chrome - when not using ffmpeg install the internal ffmpegsumo too The default include header for the internal ffmpeg on Chromium has #define CONFIG_ZLIB 0 while on Chrome this value is 1. I opted to keep this value as 0
Why was this flag even added? 1/ There's no need for such patches once you depend on proper version of ffmpeg. Bug 293666 should be reopened and set to WONTFIX, proper dep set in the ebuild (hard one) and be done with it. Installing this bundled stuff is against general Gentoo policies as well, AFAICT, plus bad security-wise in any case. 2/ chromium{,-bin} isn't stable anywhere, nor it should be (even the 5.x series has beta status upstream). Once you want it stabilized, you need to get proper ffmpeg version stabilized at the same moment, like with any other package out there in the tree.
> 1/ There's no need for such patches once you depend on proper version of > ffmpeg. I am not using unstable ffmpeg... chromium doesn't need the unstable one to compile, the whole ffmpeg flag is really messy on the ebuild and if an unstable package needed another unstable one it should have been made that way on deps > 2/ chromium{,-bin} isn't stable anywhere I know that, I really don't see your point here
(In reply to comment #4) > I am not using unstable ffmpeg... chromium doesn't need the unstable one to > compile, the whole ffmpeg flag is really messy on the ebuild and if an unstable > package needed another unstable one it should have been made that way on deps So don't use the HTML5 features in chromium. It clearly needs unstable ffmpeg for the HTML5 functionality, so that needs to be the dependency. The entire USE=ffmpeg is a misnomer, should be html5 instead. And, it *was* that way before bug referred to above was "fixed", which instead of fixing anything introduced yet another bug and breaks general policies wrt bundled junk.
I see what you meant with unstable ffmpeg now. Bug 293666 should really be set to WONTFIX and kept with unstable ffmpeg, it's damn pointless to compile it against stable ffmpeg as it won't work. Still, with the ebuild modifications and the patch I attached it would be possible to compile chromium without having to compile the unstable ffmpeg
Created attachment 221311 [details, diff] sanitize chromium-5.0.307.9 HTML5 handling (In reply to comment #6) > Still, with the ebuild modifications and the patch I attached it would be > possible to compile chromium without having to compile the unstable ffmpeg According to Bug 293666 Comment #1 this should be RDEPEND only (only checked on runtime, kinda like plugin), so patch for ebuild attached accordingly. I didn't verify the above. If that fails, it simply needs to be a hard dependency, no flags, end of story.
Created attachment 221383 [details, diff] ebuild fix Fix ffmpeg version dependency so we can get html5 videos working (in case USE=ffmpeg) make the use_system_ffmpeg verify for the USE flag (it wasn't an option) don't create symlinks for libavcodec/util/format if we don't use the system ffmpeg allow the ffmpeg internal library to use h264 added the internal library to the install package (USE=-ffmpeg)
Thanks for the comments. Here's the current state of things: - I bumped the required version of ffmpeg like in your patches - -Duse_system_ffmpeg=1 is only applied when USE="ffmpeg" - added a "bindist" USE flag to make it more sane, please don't complain - I'm not going to apply the patch changing the branding of the bundled ffmpeg, I'd rather make it work with the system ffmpeg I'm going to do more testing and work on this. Thoughts and patches welcome, please be polite.
That's ok, bumping the ffmpeg version and adjusting the -Duse_system_ffmpeg will fix the issue. I think you should also only apply the chromium-20100122-ubuntu-html5-video-mimetypes.patch if we specify USE=ffmpeg (that's why I added the branding patch). IMO it is kinda pointless to say that we support h.264 when we don't use system ffmpeg without branding patch. As for testing, I have been running the regular one with a more recent ffmpeg and the only problem I noticed is with pulseaudio, everything else is running ok.
Well, as noted above, should be something like if ! use bindist && use ffmpeg; then # Allow use of MP3/MPEG-4 audio/video tags with our system ffmpeg epatch "${FILESDIR}"/${PN}-20100122-ubuntu-html5-video-mimetypes.patch fi Otherwise you claim you support MIME types that in fact won't be supported with USE="-ffmpeg". Also, I'd like to have the thing about ffmpeg clarified - is it actually checked in any way during the build or not? I really don't have time to dig into this huge thing.
I don't think it is, when you say use system ffmpeg looks like the compile script just create some stubs for internal ffmpeg and, only to make things easier, we have to link 3 libs to chromium dir or else we can't use the system ffmpeg
After today's change it should do everything correctly.
On my ~x86 machine I cannot watch youtube videos with activated HTML5... For informations of versions and use flags: [ebuild R ] media-video/ffmpeg-0.5_p21602 USE="3dnow 3dnowext X alsa dirac encode faac faad gsm hardcoded-tables ieee1394 jpeg2k mmx mmxext mp3 network opencore-amr schroedinger sdl speex ssse3 theora threads v4l v4l2 vdpau vorbis x264 xvid zlib (-altivec) -bindist -cpudetection -custom-cflags -debug -doc -jack -oss -pic -test" VIDEO_CARDS="nvidia" 0 kB [ebuild R ] www-client/chromium-5.0.366.2 USE="ffmpeg plugins-symlink -bindist" 0 kB
*** Bug 314171 has been marked as a duplicate of this bug. ***
With version 5.0.371.0 it is working now. Thanks a lot.
It still isn't working for me (~x86 gentoo). I synced and compiled today and it works with neither 9999 nor 5.0.371.0. I have 9999 ffmpeg. Is there some way to enable verbose messages in chromium to find out why?
What does not work ? Playing html5 media or only h264 ones ? because right now I can only play *audio* ogg html5 medias, both video ogg and video h264 don't play with 5.0.371.0 and 9999, and it works with the -bin package. (at least the ogg ones) Maybe it's the same problem that you have. Or maybe I'm the only one experiencing it. you can test it with http://tinyogg.com and trying to convert youtube's videos, or convert them to "only ogg audio" to see if audio ogg medias can be played.
I have tried tinyogg.com. Ogg audio plays but with a lot of stucking like he-llo I-am Bri-an. I guess you get the idea... (happens even from localhost) Ogg video doesn't even start. I can see controls but nothing more.
Ok, so we have definetively the same problem. As I described in bug 314171 my useflags should be OK. I have no idea why it can play ogg audio content and why it behaves like it cannot find video format codecs… But it looks like a different bug from this one (which i abount h264 support), and bug 314171 should not be marked as duplicate of this bug as it's another bug confirmed by someone else. We should reopen bug 314171, and leave this one as RESOLVED FIXED.
I think this bug covers both ogg and h264. In any case I cannot play either.
looks like is has been fixed in bug 314977 It was a dependency problem, ffmpeg needs to be compiles with +threads flag
It works now, thank you.