Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 361665 - change dependency of www-client/chromium from media-video/ffmpeg to virtual/ffmpeg
Summary: change dependency of www-client/chromium from media-video/ffmpeg to virtual/f...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Chromium Project
URL:
Whiteboard: ht-wanted
Keywords:
Depends on: 366619
Blocks: ffmpeg-virtual
  Show dependency tree
 
Reported: 2011-04-02 10:00 UTC by Zeev Tarantov
Modified: 2011-06-22 08:09 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zeev Tarantov 2011-04-02 10:00:41 UTC
Self explanatory, I think. System ffmpeg can be libav, and chromium compiles with that.

Reproducible: Always
Comment 1 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-04-02 20:13:39 UTC
Generally sounds good, but needs testing. I'd appreciate success or failure reports with the following data: version of www-client/chromium and version of ffmpeg/libav used.
Comment 2 Christoph Mende (RETIRED) gentoo-dev 2011-04-02 20:19:02 UTC
[ebuild   R   ] media-video/libav-0.7_pre20110327 
[ebuild   R   ] www-client/chromium-11.0.696.28 
(i.e. latest ~arch for both)
Comment 3 Mike Gilbert gentoo-dev 2011-04-02 23:28:59 UTC
Testing with libav-0.6.2:
chromium-10.0.648.204 fails to build (missing libavcore/samplefmt.h)
chromium-11.0.696.28 fails to build (missing libavcore/samplefmt.h)
chromium-12.0.712.0 fails to build (missing libavcore/samplefmt.h)

Testing with libav-0.7_pre20110327:
chromium-10.0.648.204 fails to build (missing libavcore/samplefmt.h)
chromium-11.0.696.28 builds and plays html5 video
chromium-12.0.712.0 builds and plays html5 video

Some comments:

- chromium-10.0.648.204 does not apply chromium-ffmpeg-build-r0.patch.

- libav-0.6.2 installs libavutil as version 50.15.1. chromium-ffmpeg-build-r0.patch looks for >= 50.38.0.

- libav-0.7_pre20110327 installs libavutil as version 50.39.0.

- I'm guessing that ffmpeg and libav re-synchronized version numbers at some point after the libav-0.6.2 release was cut.

I also want to point out that chromium-ffmpeg-build-r0.patch came from a code review (which I created) [1]. The upstream Chromium developer actually modified it before committing [2]. The committed version relies on libavcodec/avcodec.h to pull in the correct samplefmt.h.

If you use the patch that was actually committed, libav-0.6.2 should work.

[1] http://codereview.chromium.org/download/issue6791004_1.diff
[2] http://src.chromium.org/viewvc/chrome/trunk/src/media/ffmpeg/ffmpeg_common.h?view=patch&r1=80200&r2=80199&pathrev=80200
Comment 4 Mike Gilbert gentoo-dev 2011-04-02 23:45:18 UTC
I think that applying the committed patch may make Chromium compatible with ffmpeg-0.6, so I will hold off on testing with media-video/ffmpeg until Paweł can swap patches.
Comment 5 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-04-03 16:54:43 UTC
chromium-12.0.712.0-r1 contains the updated patch, thanks Mike. I bumped the ebuild to make the test results unambiguous.

The libav test results look promising. Feel free to skip testing chromium-10.x, the project moves quite fast and I'd prefer to avoid making changes to stable ebuilds anyway. In fact, I'm totally fine with testing just with chromium-12.x.
Comment 6 Mike Gilbert gentoo-dev 2011-04-03 18:02:10 UTC
Well, that didn't work. :(

Building chromium-12.0.712.0-r1 against either libav-0.6.2 or ffmpeg-0.6 produces this error:

media/filters/audio_file_reader.cc:152:62: error: ‘av_get_bits_per_sample_fmt’ was not declared in this scope

I think we can eliminate those 2 library versions as possibilities. We are going to need a more granular dependency than >=virtual/ffmpeg-0.6.
Comment 7 Christoph Mende (RETIRED) gentoo-dev 2011-04-04 20:03:26 UTC
(In reply to comment #6)
> Well, that didn't work. :(
> 
> Building chromium-12.0.712.0-r1 against either libav-0.6.2 or ffmpeg-0.6
> produces this error:
> 
> media/filters/audio_file_reader.cc:152:62: error: ‘av_get_bits_per_sample_fmt’
> was not declared in this scope
> 
> I think we can eliminate those 2 library versions as possibilities. We are
> going to need a more granular dependency than >=virtual/ffmpeg-0.6.

The problem here is that chromium requires ffmpeg-0.6_p25767 (or libav-0.7_pre*). Guess an ffmpeg-0.7 virtual that pulls in ffmpeg >0.6 and libav >0.6.2 should work.
Comment 8 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-04-05 14:22:46 UTC
(In reply to comment #7)
> The problem here is that chromium requires ffmpeg-0.6_p25767 (or
> libav-0.7_pre*). Guess an ffmpeg-0.7 virtual that pulls in ffmpeg >0.6 and
> libav >0.6.2 should work.

The ffmpeg-0.7 virtual should rather pull in >=ffmpeg-0.6_p25767, as said even in the comment above chromium requires >=ffmpeg-0.6_p25767 and is known to be broken with earlier versions of ffmpeg.

Similarly for libav, I'd just like to pull in >=libav-0.7_pre20110327 for which we have success reports.

media-video maintainers, could you please add such a versioned virtual for ffmpeg?
Comment 9 Alexis Ballier gentoo-dev 2011-04-06 12:56:33 UTC
you have 0.6.90 for that purpose
Comment 10 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-04-08 06:20:54 UTC
Thanks everyone for the tests, I switched >=chromium-12.0.725.0 to virtual/ffmpeg. It should migrate from hard mask to ~arch in few weeks, and I plan to close the bug then.

media-video maintainers, if you'd like to speed up the process, I can also try migrating the chromium ebuilds currently in ~arch to the virtual, but it's risky. It's going to be in stable in few weeks if not sooner, and it's very likely to be a security update. That might incur stabilization of some media-video packages sooner than they are ready.
Comment 11 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-06-22 08:09:45 UTC
Because of bug #371931 www-client/chromium doesn't depend on system ffmpeg anymore (this is temporary, until we fix that bug). As a result, this is no longer blocking libav.