Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 570390 - mozconfig-v6.42.eclass: Add virtual/ffmpeg[x264] as optional runtime dependency
Summary: mozconfig-v6.42.eclass: Add virtual/ffmpeg[x264] as optional runtime dependency
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL: https://bugzilla.mozilla.org/show_bug...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-31 12:50 UTC by nvinson234
Modified: 2017-05-15 13:06 UTC (History)
1 user (show)

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


Attachments
mozconf-v6.42.eclass patch (updates.patch,1.16 KB, patch)
2015-12-31 12:53 UTC, nvinson234
Details | Diff
mozconfig-v6.42.eclass.patch (updates.patch,1.19 KB, patch)
2015-12-31 17:36 UTC, nvinson234
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description nvinson234 2015-12-31 12:50:04 UTC
If gstreamer-O is unset emerging Firefox will not pull in ffmpeg or libav.  A quick test (i.e. visiting https://www.youtube.com/html5 without ffmpeg or libav installed) showed that Firefox needs either the gstreamer-0 USE flag set or a RDEPEND on virtual/ffmpeg to get H.264 support.

Because the gstreamer-0 USE flag is controlled by the mozconf* eclasses and not the firefox ebuilds, I'm requesting that the mozconf-v6.42.eclass be updated to introduce both the x264 USE flag and an optional runtime dep on virtual/ffmpeg[x264].  I'm requesting the USE flag simply because there may be some users who do not wish to have H.264 support and Firefox does not need H.264 or libav/ffmpeg support to function (strictly speaking).

Reproducible: Always
Comment 1 nvinson234 2015-12-31 12:53:02 UTC
Created attachment 421316 [details, diff]
mozconf-v6.42.eclass patch

This is a patch to mozconf-v6.42.eclass that makes the changes I am requesting.
Comment 2 Jory A. Pratt gentoo-dev 2015-12-31 15:20:20 UTC
This assumption is incorrect. You either need gstream or gstreamer-0 set based on what version of gstreamer you are wanting. Everything works threw gstreamer. I will wait to hear feedback from _AXS_ before we decide how we want to handle it.
Comment 3 nvinson234 2015-12-31 17:10:44 UTC
(In reply to Jory A. Pratt from comment #2)
> This assumption is incorrect. You either need gstream or gstreamer-0 set
> based on what version of gstreamer you are wanting. Everything works threw
> gstreamer.

Sorry, I got my test results mixed-up.  When I redid the Firefox[gstreamer] test everything on https://www.youtube.com/html5 was marked supported except for "MSE & H.264", and I'll assume the lack of support is due to a missing USE flag in my test.

I'll update my proposed patch accordingly.
Comment 4 nvinson234 2015-12-31 17:36:28 UTC
Created attachment 421366 [details, diff]
mozconfig-v6.42.eclass.patch
Comment 5 Ian Stakenvicius (RETIRED) gentoo-dev 2016-01-04 15:35:35 UTC
(In reply to nvinson234 from comment #3)
> (In reply to Jory A. Pratt from comment #2)
> > This assumption is incorrect. You either need gstream or gstreamer-0 set
> > based on what version of gstreamer you are wanting. Everything works threw
> > gstreamer.
> 
> Sorry, I got my test results mixed-up.  When I redid the Firefox[gstreamer]
> test everything on https://www.youtube.com/html5 was marked supported except
> for "MSE & H.264", and I'll assume the lack of support is due to a missing
> USE flag in my test.
> 
> I'll update my proposed patch accordingly.

Since we've already gotten flack from the gstreamer dev's about the fact that we depend on the gst-plugins-meta virtual at all, I'm rather inclined to not include this patch.  The dependency atom is the way it is now because that's the atom we've been using since gstreamer was added, long ago.

The firefox-bin packages as of version 43 have migrated to gstreamer:1.0 , and so I was planning on dropping the gstreamer-0 flag in firefox-45 anyhow.

Now, after checking through the dependency tree, it also seems like gst-plugins-libav doesn't actually enforce ffmpeg[x264] either.  I don't know how to best handle that one, since I would prefer not to depend on virtual/ffmpeg just to make gst-plugins-libav be able to decode h.264 streams at runtime.  I'll ping the gstreamer folks and see if we can come to a consensus.

I assume you ran into this issue either because you're not using the desktop profile, or you've got IUSE="-*" or similar in make.conf?
Comment 6 nvinson234 2016-01-04 17:08:29 UTC
(In reply to Ian Stakenvicius from comment #5)
> (In reply to nvinson234 from comment #3)
> > (In reply to Jory A. Pratt from comment #2)
> > > This assumption is incorrect. You either need gstream or gstreamer-0 set
> > > based on what version of gstreamer you are wanting. Everything works threw
> > > gstreamer.
> > 
> > Sorry, I got my test results mixed-up.  When I redid the Firefox[gstreamer]
> > test everything on https://www.youtube.com/html5 was marked supported except
> > for "MSE & H.264", and I'll assume the lack of support is due to a missing
> > USE flag in my test.
> > 
> > I'll update my proposed patch accordingly.
> 
> Since we've already gotten flack from the gstreamer dev's about the fact
> that we depend on the gst-plugins-meta virtual at all, I'm rather inclined
> to not include this patch.  The dependency atom is the way it is now because
> that's the atom we've been using since gstreamer was added, long ago.
> 
> The firefox-bin packages as of version 43 have migrated to gstreamer:1.0 ,
> and so I was planning on dropping the gstreamer-0 flag in firefox-45 anyhow.
> 
> Now, after checking through the dependency tree, it also seems like
> gst-plugins-libav doesn't actually enforce ffmpeg[x264] either.  I don't
> know how to best handle that one, since I would prefer not to depend on
> virtual/ffmpeg just to make gst-plugins-libav be able to decode h.264
> streams at runtime.  I'll ping the gstreamer folks and see if we can come to
> a consensus.

I only added the gstreamer logic in the interest of completeness.  Outside of that, I really don't care about it.  If those hunks are causing problems, please ignore them.  In fact, the only part of the patch I'm really wanting to see applied is this line:

!gstreamer? ( !gstreamer-0? ( x264? ( virtual/ffmpeg[x264] ) ) )

So if you want me to simplify the patch to just that change, let me know and I'll make the change.

> 
> I assume you ran into this issue either because you're not using the desktop
> profile, or you've got IUSE="-*" or similar in make.conf?

I set -gstreamer in package.use for firefox.  The end result on my system is that emerge --depclean removes libav and gstreamer.  The URL I mentioned above, https://bugzilla.mozilla.org/show_bug.cgi?id=1207429, states that Firefox only needs libav or ffmpeg for h.264 support, which is what motivated this patch request in the first place.

I'm really only asking that Firefox depend on virtual/ffmpeg[x264], if both gstreamer USE flags are unset.
Comment 7 Ian Stakenvicius (RETIRED) gentoo-dev 2016-01-04 17:26:57 UTC
(In reply to nvinson234 from comment #6)
> (In reply to Ian Stakenvicius from comment #5)
> > (In reply to nvinson234 from comment #3)
> > > (In reply to Jory A. Pratt from comment #2)
> > > > This assumption is incorrect. You either need gstream or gstreamer-0 set
> > > > based on what version of gstreamer you are wanting. Everything works threw
> > > > gstreamer.
> > > 
> > > Sorry, I got my test results mixed-up.  When I redid the Firefox[gstreamer]
> > > test everything on https://www.youtube.com/html5 was marked supported except
> > > for "MSE & H.264", and I'll assume the lack of support is due to a missing
> > > USE flag in my test.
> > > 
> > > I'll update my proposed patch accordingly.
> > 
> > Since we've already gotten flack from the gstreamer dev's about the fact
> > that we depend on the gst-plugins-meta virtual at all, I'm rather inclined
> > to not include this patch.  The dependency atom is the way it is now because
> > that's the atom we've been using since gstreamer was added, long ago.
> > 
> > The firefox-bin packages as of version 43 have migrated to gstreamer:1.0 ,
> > and so I was planning on dropping the gstreamer-0 flag in firefox-45 anyhow.
> > 
> > Now, after checking through the dependency tree, it also seems like
> > gst-plugins-libav doesn't actually enforce ffmpeg[x264] either.  I don't
> > know how to best handle that one, since I would prefer not to depend on
> > virtual/ffmpeg just to make gst-plugins-libav be able to decode h.264
> > streams at runtime.  I'll ping the gstreamer folks and see if we can come to
> > a consensus.
> 
> I only added the gstreamer logic in the interest of completeness.  Outside
> of that, I really don't care about it.  If those hunks are causing problems,
> please ignore them.  In fact, the only part of the patch I'm really wanting
> to see applied is this line:
> 
> !gstreamer? ( !gstreamer-0? ( x264? ( virtual/ffmpeg[x264] ) ) )
> 
> So if you want me to simplify the patch to just that change, let me know and
> I'll make the change.
> 
> > 
> > I assume you ran into this issue either because you're not using the desktop
> > profile, or you've got IUSE="-*" or similar in make.conf?
> 
> I set -gstreamer in package.use for firefox.  The end result on my system is
> that emerge --depclean removes libav and gstreamer.  The URL I mentioned
> above, https://bugzilla.mozilla.org/show_bug.cgi?id=1207429, states that
> Firefox only needs libav or ffmpeg for h.264 support, which is what
> motivated this patch request in the first place.
> 
> I'm really only asking that Firefox depend on virtual/ffmpeg[x264], if both
> gstreamer USE flags are unset.


Aha...  ok now I see what's going on here.  So, just FYI, our firefox-43 ebuilds do not support linking to ffmpeg directly and firefox won't build against ffmpeg yet.  As Jory stated earlier, if you want html5 video support (h264 etc) you need to have either USE="gstreamer" or USE="gstreamer gstreamer-0" enabled.  I'll look into how viable it is to drop gstreamer support in favour of directly depending on ffmpeg for firefox-44.

With regards to the patch, no we're not going to accept it.  Proper ffmpeg support will need configure adjustments in addition to dependency adjustments, "automagic" linking to ffmpeg is not something we're going to allow to reach the main tree.  

I'll test some changes on mozilla-overlay and we'll release them in a month with firefox-44 if it's feasible to use something other than gstreamer.
Comment 8 Ian Stakenvicius (RETIRED) gentoo-dev 2016-01-08 15:18:26 UTC
IUSE="ffmpeg" has been added to firefox-44 beta's on mozilla-overlay.  

I haven't tested it since stripping gstreamer out of my test system is going to be virtually impossible, and if gstreamer is available on the system then it will automatically be used instead.