Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Solved] ffmpeg tries to pull libav - but they're mutually..
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
This topic is locked: you cannot edit posts or make replies.    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
phil_r
Apprentice
Apprentice


Joined: 14 Mar 2006
Posts: 259
Location: Lincoln, NE, USA

PostPosted: Tue May 28, 2013 4:02 pm    Post subject: [Solved] ffmpeg tries to pull libav - but they're mutually.. Reply with quote

As of last week during a -auD world update, libav tried to come down. Apparently it's being pulled by virtual/ffmpeg -

[blocks B ] media-video/ffmpeg ("media-video/ffmpeg" is blocking media-video/libav-9999)

* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.

(media-video/libav-9999::gentoo, installed) pulled in by
>=media-video/libav-9[X] required by (virtual/ffmpeg-9::gentoo, installed)

(media-video/ffmpeg-1.0.7::gentoo, ebuild scheduled for merge) pulled in by
media-video/ffmpeg required by (media-plugins/gst-plugins-ffmpeg-0.10.13_p201211::gentoo, ebuild scheduled for merge)

From the reading I've done libav is a fork of ffmpeg but incompatible, you're only supposed to have one or the other. I've always had ffmpeg, never heard of libav until this happened. But if they're exclusive why is ffmpeg trying to pull libav - and how do I stop it?

I've tried various combinations of removing and reinstalling ffmpeg, various media players, can't really uninstall gstreamer because my KDE runs off it. Any ideas?


Thanks!
_________________
Just when you think you know the answers, I change the questions.


Last edited by phil_r on Wed May 29, 2013 6:32 pm; edited 1 time in total
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Tue May 28, 2013 7:30 pm    Post subject: Reply with quote

Add libav to package.mask and see if that fixes it.
Back to top
View user's profile Send private message
phil_r
Apprentice
Apprentice


Joined: 14 Mar 2006
Posts: 259
Location: Lincoln, NE, USA

PostPosted: Tue May 28, 2013 9:12 pm    Post subject: Reply with quote

Ant P. wrote:
Add libav to package.mask and see if that fixes it.


Added media-video/libav to package.mask - now get this:
[blocks B ] media-video/ffmpeg ("media-video/ffmpeg" is blocking media-video/libav-9999)

* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.

(media-video/libav-9999::gentoo, installed) pulled in by
>=media-video/libav-9[X] required by (virtual/ffmpeg-9::gentoo, installed)

(media-video/ffmpeg-1.0.7::gentoo, ebuild scheduled for merge) pulled in by
media-video/ffmpeg required by (media-plugins/gst-plugins-ffmpeg-0.10.13_p201211::gentoo, ebuild scheduled for merge)

So added >=media-video/libav-9999 to package.mask and it still wants that version.
_________________
Just when you think you know the answers, I change the questions.
Back to top
View user's profile Send private message
jasn
Guru
Guru


Joined: 05 May 2005
Posts: 439
Location: Maryland, US

PostPosted: Tue May 28, 2013 9:32 pm    Post subject: Reply with quote

I'm as mystified as to why this is as you. Although on my system I have;
Code:
media-video/ffmpeg
virtual/ffmpeg

unmasked in /etc/portage/package.unmask and ffmpeg as a global USE flag.

When I do an emerge of virtual/ffmpeg it pulls in media-video/ffmpeg and not media-video/libav. I just don't know why.

Good Luck..
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Tue May 28, 2013 11:21 pm    Post subject: Reply with quote

Weird. Does "emerge -1ptv virtual/ffmpeg media-video/ffmpeg" do anything different?
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Wed May 29, 2013 6:40 am    Post subject: Reply with quote

Condition test order (as in left to right) on the exclusive OR would be my suspect of choice:

Code:

/usr/portage/virtual/ffmpeg/ffmpeg-0.10.3.ebuild
RDEPEND="
   || (
      >=media-video/ffmpeg-0.10.3[X?,encode?,gsm?,jpeg2k?,mp3?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?]
      >=media-video/libav-0.8.4[X?,encode?,gsm?,jpeg2k?,mp3?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?]
   )
"


ffmpeg tested first before bothering with libav...

Code:

/usr/portage/virtual/ffmpeg/ffmpeg-9.ebuild
RDEPEND="
        || (
                >=media-video/libav-9[X?,encode?,gsm?,jpeg2k?,mp3?,opus?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?]
                >=media-video/ffmpeg-1.1[X?,encode?,gsm?,jpeg2k?,mp3?,opus?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?]
        )
"


... are reversed in the bleeding edge build.

Flip the conditional with ffmpeg first as it is in 0.10.3, ebuild ffmpeg-9.ebuild digest and see if it makes the libav demand go away.

Neither ffmpeg nor libav are in my global USE and the system is mostly amd64 (non ~) some obvious output is trimmed:

Code:

# emerge -1ptv =virtual/ffmpeg-9

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild     U #] virtual/ffmpeg-9 [0.10.3] USE="X encode mp3 threads truetype x264 -gsm -jpeg2k -opus% -sdl -speex -theora -vaapi -vdpau" 0 kB
[ebuild  N    *]  media-video/libav-9999:0/9  USE="X aac alsa bzip2 encode gpl hardcoded-tables mmx mp3 ssl ssse3 threads truetype x264 xvid zlib -3dnow -3dnowext (-altivec) -amr -avx -bindist -cdio -cpudetection -custom-cflags -debug -doc -faac -fdk -frei0r -gsm -ieee1394 -jack -jpeg2k -mmxext (-neon) -network -openssl -opus -oss -pic -pulseaudio -rtmp -schroedinger -sdl -speex -static-libs {-test} -theora -tools -v4l -vaapi -vdpau (-vis) -vorbis -vpx" 0 kB
[ebuild  N     ]   dev-vcs/git-1.8.1.5  USE="blksha1 curl gpg gtk iconv nls pcre perl python threads tk webdav -cgi -cvs -doc -emacs -gnome-keyring -highlight (-ppcsha1) -subversion {-test} -xinetd" 4,722 kB
[ebuild  N     ]    dev-perl/Authen-SASL-2.160.0  USE="-kerberos" 45 kB
[ebuild  N     ]     dev-perl/Digest-HMAC-1.30.0  8 kB
[ebuild  N     ]    dev-perl/Error-0.170.160  USE="{-test}" 21 kB
[ebuild  N     ]    dev-perl/Net-SMTP-SSL-1.10.0  2 kB
[nomerge       ] dev-perl/Digest-HMAC-1.30.0
[ebuild  N     ]  virtual/perl-Digest-SHA-5.820.0  0 kB
[ebuild  N     ]   perl-core/Digest-SHA-5.820.0  43 kB
[blocks B      ] media-video/ffmpeg ("media-video/ffmpeg" is blocking media-video/libav-9999)

The following keyword changes are necessary to proceed:
# required by virtual/ffmpeg-9
# required by =virtual/ffmpeg-9 (argument)
=media-video/libav-9999 **
# required by =virtual/ffmpeg-9 (argument)
=virtual/ffmpeg-9 ~amd64

The following mask changes are necessary to proceed:
=virtual/ffmpeg-9


Modifying virtual/ffmpeg-9 ebuild as mentioned above,

Code:

# emerge -1ptv =virtual/ffmpeg-9

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild     U #] virtual/ffmpeg-9 [0.10.3] USE="X encode mp3 threads truetype x264 -gsm -jpeg2k -opus% -sdl -speex -theora -vaapi -vdpau" 0 kB
[ebuild     U #]  media-video/ffmpeg-1.2.1 [0.10.7] USE="X aac alsa bzip2 encode hardcoded-tables iconv%* mmx mp3 ssse3 threads truetype x264 xvid zlib -3dnow -3dnowext -aacplus (-altivec) -amr -avx -bindist -bluray% -cdio (-celt) -cpudetection -debug -doc -examples% -faac -fdk% -flite% -fontconfig% -frei0r -gnutls -gsm -iec61883% -ieee1394 -jack -jpeg2k -libass -libcaca% -libsoxr% -libv4l -mmxext -modplug (-neon) -network -openal -openssl -opus% -oss -pic -pulseaudio -rtmp -schroedinger -sdl -speex -static-libs {-test} -theora -twolame% -v4l -vaapi -vdpau (-vis) -vorbis -vpx (-dirac%)" FFTOOLS="aviocat cws2fws ffescape%* ffeval fourcc2pixfmt%* graph2dot ismindex pktdumper qt-faststart trasher" 5,829 kB

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by virtual/ffmpeg-9
# required by =virtual/ffmpeg-9 (argument)
=media-video/ffmpeg-1.2.1 ~amd64
# required by =virtual/ffmpeg-9 (argument)
=virtual/ffmpeg-9 ~amd64

The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by virtual/ffmpeg-9
# required by =virtual/ffmpeg-9 (argument)
=media-video/ffmpeg-1.2.1
# required by =virtual/ffmpeg-9 (argument)
=virtual/ffmpeg-9


Looks like it'd get the OP the result they wanted.
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.


Last edited by Navar on Wed May 29, 2013 7:04 am; edited 1 time in total
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Wed May 29, 2013 6:57 am    Post subject: Reply with quote

And don't quote me, but if memory serves... when this whole thing snowballed in the past with the libav fork, Gentoo officially stuck with ffmpeg being the default on the virtual for consistency. So you probably want to mask ffmpeg out if you desire to force libav.

Then again, a fast Google search on gentoo ffmpeg or libav default shows a complete cluster!@#$ of biased proportions in blogs from both sides. Perhaps the switcheroo in the ebuilds above was intentional. :P

So, ignoring that and if the ebuilds don't change, then regular virtual/ffmpeg defaults to ffmpeg first, unless masked out, and virtual/ffmpeg-9 defaults to libav first, unless masked out. If A, then ignore B and do A, otherwise if B, then ignore A and do B... is what those 2 differing ebuilds are doing.

As for the OP, the emerge errors you posted asserted libav-9999 was installed which was blocking ffmpeg-1.0.7 being merged in required by your gst-plugins-ffmpeg. If you've always had ffmpeg and no libav (you're certain), unmerge libav (because portage claims you have it installed), either do that fast file edit and a re-digest of the portage version or make your own local overlay copy and then try again as my examples showed.

Libav hasn't forced itself upon me (yet) except when there's been an ebuild error (where the initial ffmpeg condition test wasn't able to be true given the circumstances).
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.


Last edited by Navar on Wed May 29, 2013 7:27 am; edited 1 time in total
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Wed May 29, 2013 7:02 am    Post subject: Reply with quote

jasn wrote:
I'm as mystified as to why this is as you. Although on my system I have;
Code:
media-video/ffmpeg
virtual/ffmpeg

unmasked in /etc/portage/package.unmask and ffmpeg as a global USE flag.

When I do an emerge of virtual/ffmpeg it pulls in media-video/ffmpeg and not media-video/libav. I just don't know why.

Good Luck..


Either the wine or the hour is talking, because when I read what you said you strongly imply to me you want ffmpeg, not libav. Then you question near the end with what you did why you won't get libav. I must be missing something too, I just don't know why. ;)
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
jasn
Guru
Guru


Joined: 05 May 2005
Posts: 439
Location: Maryland, US

PostPosted: Wed May 29, 2013 3:13 pm    Post subject: Reply with quote

Navar wrote:
when I read what you said you strongly imply to me you want ffmpeg, not libav.

That's correct. I prefer ffmpeg over libav. I also had previously read some of the back and forth discussions you mentioned in your prior post, and ended up agreeing with the pro-ffmpeg crowd. (Although for the life of me, I can't actually recall the reason why now.)

Navar wrote:
Then you question near the end with what you did why you won't get libav.

What I meant is that I didn't know why my system does not try to emerge libav but I provided what I thought may be the relevant configuration information to configure a ffmpeg / libav-free system.

Anyway, your post does a much better job of explaining the issue.

Thanks..
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Wed May 29, 2013 3:42 pm    Post subject: Reply with quote

I think your problem is only that you have unmasked virtual/ffmpeg-9. Just keep that masked, or do you have something which needs this as a dependeny? After (re-)masking, you should of course emerge -C '=virtual/ffmpeg-9'
Back to top
View user's profile Send private message
phil_r
Apprentice
Apprentice


Joined: 14 Mar 2006
Posts: 259
Location: Lincoln, NE, USA

PostPosted: Wed May 29, 2013 4:01 pm    Post subject: Reply with quote

Navar wrote:
jasn wrote:
I'm as mystified as to why this is as you. Although on my system I have;
Code:
media-video/ffmpeg
virtual/ffmpeg

unmasked in /etc/portage/package.unmask and ffmpeg as a global USE flag.

When I do an emerge of virtual/ffmpeg it pulls in media-video/ffmpeg and not media-video/libav. I just don't know why.

Good Luck..


Either the wine or the hour is talking, because when I read what you said you strongly imply to me you want ffmpeg, not libav. Then you question near the end with what you did why you won't get libav. I must be missing something too, I just don't know why. ;)


I'll try what you said and report back.

As I'm the OP :-) I can say that I'm ffmpeg because that's what I've always been, plus I've heard from several places that libava frequently break compatibility and tools. I'd never heard of libav until this happened, ffmpeg has always worked well for me so I'm keen to stick with that. I run ~amd64 but I don't unmask stuff that's been hard masked - I'm not that bleeding edge. I've found ~amd64 is usually stable enough for day to day use, I know Gentoo is all about choice, but I don't like having this kind of thing forced on me - especially without me knowing or being given a choice.

Rant over. Report back soon...! Thanks for everyone's help... oh and the "emerge -1ptv virtual/ffmpeg media-video/ffmpeg" suggestion didn't do anything either... I'll try updating the ebuild.
_________________
Just when you think you know the answers, I change the questions.
Back to top
View user's profile Send private message
phil_r
Apprentice
Apprentice


Joined: 14 Mar 2006
Posts: 259
Location: Lincoln, NE, USA

PostPosted: Wed May 29, 2013 6:32 pm    Post subject: Reply with quote

Navar wrote:
Condition test order (as in left to right) on the exclusive OR would be my suspect of choice:

Code:

/usr/portage/virtual/ffmpeg/ffmpeg-0.10.3.ebuild
RDEPEND="
   || (
      >=media-video/ffmpeg-0.10.3[X?,encode?,gsm?,jpeg2k?,mp3?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?]
      >=media-video/libav-0.8.4[X?,encode?,gsm?,jpeg2k?,mp3?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?]
   )
"


ffmpeg tested first before bothering with libav...

Code:

/usr/portage/virtual/ffmpeg/ffmpeg-9.ebuild
RDEPEND="
        || (
                >=media-video/libav-9[X?,encode?,gsm?,jpeg2k?,mp3?,opus?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?]
                >=media-video/ffmpeg-1.1[X?,encode?,gsm?,jpeg2k?,mp3?,opus?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?]
        )
"


... are reversed in the bleeding edge build.

Flip the conditional with ffmpeg first as it is in 0.10.3, ebuild ffmpeg-9.ebuild digest and see if it makes the libav demand go away.


This worked. Thanks Navar.

It seems no-one but me had this issue - so what's the consensus, is it a bug I should report or just a strange config issue?

Also now that I've changed the ebuild, the next emerge sync will overwrite that won't it and I'll have the same issue again (although I'll know how to get around it)?


Again, thanks to everyone for the help.
_________________
Just when you think you know the answers, I change the questions.
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Thu May 30, 2013 1:48 am    Post subject: Reply with quote

Glad to be of help. 8) You can do your own /usr/local/portage x-portage overlay version to protect against sync overwrites. There's also the possibility that now you have removed libav which was unexpectedly pulled in that the virtual/ffmpeg-9 ebuild will reach the second ffmpeg specific condition test fine. You'll know after a sync and uND world update or the ebuild will be revised making the problem quietly go away.

I didn't post a bug report on the ebuild because some searching (as mentioned prior) left me a little uneasy on what may be coming in the future with ffmpeg vs libav. The conditionals reversed seems intentional given how small the virtual ebuilds are combined with several developer blogs screaming libav is going to become the default. No point in filing a bug report that may get subjectively ignored. Maybe it is just human error. If a few hundred more of you produce 30 more threads having issues on the subject, something will probably happen. ;)
_________________
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
TomWij
Retired Dev
Retired Dev


Joined: 04 Jul 2012
Posts: 1553

PostPosted: Thu May 30, 2013 10:24 am    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

phil_r wrote:
As of last week during a -auD world update, libav tried to come down. Apparently it's being pulled by virtual/ffmpeg


Old virtual/ffmpeg pulls ffmpeg first, then libav; new virtual//fmpeg pulls libav first then ffmpeg; this is because libav is considered the new upstream, ffmpeg just pulls updates from it.

phil_r wrote:
[blocks B ] media-video/ffmpeg ("media-video/ffmpeg" is blocking media-video/libav-9999)


This means that it tries to pull media-video/ffmpeg, but since media-vide/libav-9999 is being pulled it doesn't.

So my first question here would be, why is this 9999 version getting pulled? Sounds like you have odd package.unmask / package.keywords / package.accept_keywords entries.

phil_r wrote:
* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.

(media-video/libav-9999::gentoo, installed) pulled in by
>=media-video/libav-9[X] required by (virtual/ffmpeg-9::gentoo, installed)

(media-video/ffmpeg-1.0.7::gentoo, ebuild scheduled for merge) pulled in by
media-video/ffmpeg required by (media-plugins/gst-plugins-ffmpeg-0.10.13_p201211::gentoo, ebuild scheduled for merge)


This is the above one liner in a more extreme detail; so, as suggested above please check why libav-999 is visible to Portage?

phil_r wrote:
From the reading I've done libav is a fork of ffmpeg but incompatible, you're only supposed to have one or the other. I've always had ffmpeg, never heard of libav until this happened. But if they're exclusive why is ffmpeg trying to pull libav - and how do I stop it?


Exactly, one or the other.

phil_r wrote:
I've tried various combinations of removing and reinstalling ffmpeg, various media players, can't really uninstall gstreamer because my KDE runs off it. Any ideas?


Check as suggested above why libav-9999 is visible, you have some explicit keywording and/or unmasking happening. Then, after that, you will want to mask media-video/libav by adding that to package.mask and if you want to be more extreme you could add media-video/libav -* to package.accept_keywords to mark the entire package invisible. This will only work if you have no other libav unmasking or keywording going on.

Navar wrote:
... suggestion to adjust ebuild ...


This is totally not needed and sets you up for maintaining it locally and experiencing problems in the future, just keeping a proper /etc/portage should work; `echo "media-video/libav -*" >> /etc/portage/package.accept_keywords` is quite effective as it makes the whole package invisible...

That being said, you should consider to switch to libav in the future as that's the new upstream and ffmpeg is merely pulling updates from them.

Although in this case, libav seems no option: media-video/ffmpeg required by (media-plugins/gst-plugins-ffmpeg-0.10.13_p201211::gentoo, ebuild scheduled for merge)

Navar wrote:
No point in filing a bug report that may get subjectively ignored. Maybe it is just human error.


Not a bug. Just a misunderstanding of how masking and keywording works. If things are still unclear after the above and checking the man pages, feel free to ask clarification...
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Thu May 30, 2013 7:44 pm    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

TomWij wrote:
this is because libav is considered the new upstream

By whom and by what justification? Is ffmpeg now considered a child project because it takes patches in the way sensible people expect a FOSS project to work while the "war" fork launders them in the other direction to purge them of copyright notices?
Back to top
View user's profile Send private message
TomWij
Retired Dev
Retired Dev


Joined: 04 Jul 2012
Posts: 1553

PostPosted: Thu May 30, 2013 9:57 pm    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

Ant P. wrote:
TomWij wrote:
this is because libav is considered the new upstream

By whom and by what justification? Is ffmpeg now considered a child project because it takes patches in the way sensible people expect a FOSS project to work while the "war" fork launders them in the other direction to purge them of copyright notices?


A group of developers leaves ffmpeg to create a fork libav and throw project management upside down (http://codecs.multimedia.cx/?p=339 https://lwn.net/Articles/423702/), then Debian (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624807) and Ubuntu (http://people.canonical.com/~ubuntu-archive/transitions/libav.html) switch to it; and as a result of libav being the careful development leader and ffmpeg just blindly following them by importing their patches (see their commit history, although this is sufficiently mentioned on the internet; eg. see the situation link after this paragraph) now Gentoo is switching default as well (see the default change in the new masked virtual/ffmpeg version, and blog posts http://blogs.gentoo.org/scarabeus/2013/01/15/libav-going-to-be-default-provider-for-your-codec-experience/ http://blogs.gentoo.org/lu_zero/2013/01/18/the-case-of-defaults-libav-vs-ffmpeg/).

An overview of the situation can be seen at http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html

Given that people are moving to libav and how libav and ffmpeg compare to each other, it's justified to call it the new upstream; of course there's no such concept as actual upstream switching, but rather a change in personal preference. If you want to use ffmpeg, that's perfectly fine and there are people that back that up (http://aballier.wordpress.com/2013/01/18/ffmpeg-vs-libav-a-distribution-maintainer-point-of-view-almost-two-years-after-the-split/); although in this particular example, that person seems rather neutral to me (https://github.com/xbmc/xbmc/pull/2092) and I think it's good to be like that in a situation like this.

TL;DR: Pursue what you believe is best, Gentoo is about choice; I'm still using ffmpeg myself too, but as less packages hard depend on it I will likely consider to switch in the future.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Fri May 31, 2013 7:14 am    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

TomWij wrote:
Given that people are moving to libav and how libav and ffmpeg compare to each other, it's justified to call it the new upstream

Your links are OK, but your conclusion is strange. As I understand it the situation is the following: Both ffmpeg and libav have their own new contributions, but while ffmpeg gets all new contributions from libav and plans to add even more codecs etc, conversely libav childishly refuses to do the converse, and there are even plans to remove functionality (which proved already an incredible stupid idea in gnome-3, cup-1.6 and parted-3.0, but some people never learn...). So you have the choice to install either ffmpeg or a proper subset of it.
The change of the default in gentoo is easily explained: Some of the gentoo developers are in the libav team but none in the ffmpeg team.
Back to top
View user's profile Send private message
TomWij
Retired Dev
Retired Dev


Joined: 04 Jul 2012
Posts: 1553

PostPosted: Fri May 31, 2013 10:10 am    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

mv wrote:
Your links are OK, but your conclusion is strange.


So is yours.

mv wrote:
As I understand it the situation is the following: Both ffmpeg and libav have their own new contributions,


They are still separate projects, if they did nothing but pull contributions; that'd be strange.

mv wrote:
but while ffmpeg gets all new contributions from libav and plans to add even more codecs etc,


So, basically they're not developing ffmpeg themselves anymore but rather writing extensions to it.

mv wrote:
conversely libav childishly refuses to do the converse,


Not everyone thinks it's necessary to add new codecs before first improving libav itself.

mv wrote:
and there are even plans to remove functionality


Not so unreasonable on an unmaintainable project, a much better thing to do than add even more stuff and make it even more unmaintainable.

mv wrote:
(which proved already an incredible stupid idea in gnome-3, cup-1.6 and parted-3.0, but some people never learn...).


At least GNOME 3 is another good example of an unmaintainable project, as you can see by their bug lists; I haven't followed the history of the other two.

Cogl breaks GNOME shell for me, it made me switch DM; and I won't see a fix any time soon: https://bugzilla.gnome.org/buglist.cgi?quicksearch=cogl

mv wrote:
So you have the choice to install either ffmpeg or a proper subset of it.


Yes, it's the choice for which one you think you need, works best and has a better future.

mv wrote:
The change of the default in gentoo is easily explained: Some of the gentoo developers are in the libav team but none in the ffmpeg team.


If everyone backs libav for good reasons it would be strange to pick ffmpeg as the default for no reason.

While I still use it, I see no good reasons to keep using it in the future; shiny features alone don't make a good product.

That being said, management decisions made in the nearby future can make or break it; we'll see how things go...
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Fri May 31, 2013 10:31 am    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

TomWij wrote:
mv wrote:
As I understand it the situation is the following: Both ffmpeg and libav have their own new contributions,

They are still separate projects, if they did nothing but pull contributions; that'd be strange.

No, it is just childish.
Quote:
So, basically they're not developing ffmpeg themselves anymore but rather writing extensions to it.

This is development: Fixing bugs and writing extensions necessary for newly introduced infrastructure (here: codecs) is what is usually done with a project whose main task (encoding videos) is implemented. liabav does nothing else.
Quote:
mv wrote:
and there are even plans to remove functionality

Not so unreasonable on an unmaintainable project, a much better thing to do than add even more stuff and make it even more unmaintainable.

"Unmaintainable" is a lazy excuse by lazy people who destroy previous work of people just to make themselves appear in better light - this is what happened in gnome-3 and parted (in cups it was forced by apple AFAIK). The existence of ffmpeg and that they are able to pull in liibav changes proves that it can be maintained.
Quote:
If everyone backs libav for good reasons it would be strange to pick ffmpeg as the default for no reason.

Try to push people as much as possible in a distribution with choice and then claiming that everybody uses it so that people must be pushed in this direction. Do you see the logical mistake in your argument? And what "good" reasons? Less features and less codecs are not a good reason to change to a proper subset of a working project. People swich because it is the new default - so did I until I read more info and understood what is really going on.
Back to top
View user's profile Send private message
TomWij
Retired Dev
Retired Dev


Joined: 04 Jul 2012
Posts: 1553

PostPosted: Fri May 31, 2013 10:51 am    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

mv wrote:
Fixing bugs


Both parties do, but it takes more than fixing bugs alone to have a maintainable project; refactoring for example...

mv wrote:
"Unmaintainable" is a lazy excuse by lazy people who destroy previous work of people just to make themselves appear in better light - this is what happened in gnome-3 and parted (in cups it was forced by apple AFAIK). The existence of ffmpeg and that they are able to pull in liibav changes proves that it can be maintained.


"Unmaintainable" is exactly what happened to GNOME 3, and is happening to ffmpeg as well now as stated before and for which I have given various reasons. Existence is not a characteristic to determine maintainability...

mv wrote:
Try to push people as much as possible in a distribution with choice and then claiming that everybody uses it so that people must be pushed in this direction. Do you see the logical mistake in your argument?


Pushing people to a choice is part of giving choice; without having a choice, you can't push people towards a certain choice. It's a logical consequence of subjectivity. I don't see a logical mistake.

Gentoo is all about choice and I'm not seeing anybody being pushed, apart from some people being historically stuck and forced to use ffmpeg; eg. Me.

mv wrote:
And what "good" reasons? Less features and less codecs are not a good reason to change to a proper subset of a working project.


Experimental features and codecs is something not everyone needs, we rather need something stable and future proof; that being said, personal preference matters.

mv wrote:
People swich because it is the new default - so did I until I read more info and understood what is really going on.


And that's what pushing is all about, making you aware of alternatives; why would we make a distribution with choices and not make people aware of the other choices as well as pick better defaults?

I'm still using ffmpeg-1.0.7 fine today, there's nothing wrong with that version to me; I'm just skeptical about what the future will bring, like newer ffmpeg versions being broken because of audio issues.


Last edited by TomWij on Fri May 31, 2013 4:28 pm; edited 1 time in total
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Fri May 31, 2013 12:25 pm    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

TomWij wrote:
mv wrote:
Fixing bugs

Both parties do, but it takes more than fixing bugs alone to have a maintainable project; refactoring for example...

Refactoring a working project just for the sake of refactoring is rather pointless and can mainly do only harm (very visible again in gnome3).
Quote:
like newer ffmpeg versions being broken because of audio issues.

That's a good example: Refactoring might introduce such issues. If infracstructure changes it might be necessary to update previously existing implementation to support the new infrastructure, but not by a complete rewrite and by dropping of support for older infrastructure.
Quote:
I don't see a logical mistake.

OMG. No comment anymore.
Back to top
View user's profile Send private message
TomWij
Retired Dev
Retired Dev


Joined: 04 Jul 2012
Posts: 1553

PostPosted: Fri May 31, 2013 12:35 pm    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

mv wrote:
Refactoring a working project just for the sake of refactoring is rather pointless and can mainly do only harm (very visible again in gnome3).


The opposide end, no refactoring at all, can do harm as well.

mv wrote:
..., but not by a complete rewrite and by dropping of support for older infrastructure.


Those are just results of it being unmaintainable, they cut whatever they can't support.

mv wrote:
OMG. No comment anymore.


I'll assume that means you agree... :)
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Fri May 31, 2013 12:53 pm    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

TomWij wrote:
The opposide end, no refactoring at all, can do harm as well.

Only in rare cases of bugs unfixable by concept. And even then only a small part needs to be refactored. Which is of course done by both projects where necessary.
mv wrote:
Those are just results of it being unmaintainable, they cut whatever they can't support.

s/can't/are too lazy to/
Again, "unmaintainable" is just a bad excuse for being lazy. Sure, it makes more work to support all codecs than dropping all except one. Similarly as in parted it makes more work to care also about the content of partitions. Sure, if somebody is needing only this one codec or has no need for shrinking/enlarging/moving partitions keeping their data, a more specialized project might make sense. But one should then be honest and say that it is a new specialized project with no support for things which are not important for the new maintainer, but one should not destroy the old good work by claiming this new project is the new one-and-only "upstream" - espcially when ffmpeg continues to exist and is maintained.
Quote:
I'll assume that means you agree...

I'll assume readers of this thread are smart enough to detect the logical mistakes themselves.
Back to top
View user's profile Send private message
TomWij
Retired Dev
Retired Dev


Joined: 04 Jul 2012
Posts: 1553

PostPosted: Fri May 31, 2013 1:06 pm    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

mv wrote:
Only in rare cases of bugs unfixable by concept. And even then only a small part needs to be refactored.


That's exactly how projects that used to be great come to an end, by holding on to unmaintainable legacy code; that is, where spending time on other efforts than refactoring has became useless. :wink:

As I said before, maintaining software is not only about fixing bugs...

mv wrote:
but one should not destroy the old good work by claiming this new project is the new one-and-only "upstream" - espcially when ffmpeg continues to exist and is maintained.


The ffmpeg core is somewhat maintained by the libav team, ffmpeg's pulls in libav's work.

Nobody is destroying work here, and if work ends up being destroyed; it's likely for a good reason...

mv wrote:
I'll assume readers of this thread are smart enough to detect the logical mistakes themselves.


I'll assume the readers are smart enough that they don't need you to point out things as strange, childish and illogical.


Last edited by TomWij on Wed Jun 19, 2013 6:41 pm; edited 1 time in total
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Fri May 31, 2013 4:07 pm    Post subject: Re: [Solved] ffmpeg tries to pull libav - but they're mutual Reply with quote

mv wrote:
I'll assume readers of this thread are smart enough to detect the logical mistakes themselves.

I've seen enough doublespeak and twisting of words in the last few posts to convince me that my originally giving benefit of the doubt here was an error. Seems the libav slander-and-propaganda machine is still as strong as ever.
Back to top
View user's profile Send private message
Display posts from previous:   
This topic is locked: you cannot edit posts or make replies.    Gentoo Forums Forum Index Multimedia All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum