This Time Self-Hosted
dark mode light mode Search

How many copies of FFmpeg…

… do you have installed? I’m sure that anybody who uses his computer for multimedia stuff has at least two if not three copies of FFmpeg installed.

You don’t trust me? Let’s see. Mplayer has its own internal copy, AMD64 users have usually two, both mplayer and mplayer-bin; xine-lib can have its own internal copy (with ffmpeg useflag disabled); vlc uses the installed copy, luckily, as does alsa-plugins, but gst-plugins-ffmpeg has its own, and that is the same that xdtv does.

The result is that if you have all of them installed (I miss just gst-plugins-ffmpeg) you can reach five copies of FFmpeg. Not even the same for all of them.

This is bad not only for the installed copies on disk, the problem is even worse when you think at the wasted memory of having internal copies.

Of course there are some reasons for this duplication, but that does not means that I don’t find it pretty useless and dangerous on the long run.

For this reason I’m trying to improve the situation by merging the changes done in xine-lib into upstream’s sources, so that they won’t be needed at all after all. Hopefully next version of xine-lib I’m going to commit to portage won’t have the ffmpeg useflag anymore and will simply depend upon ffmpeg, always using the external copy. Too bad I can’t do that for libdvdnav as doing so breaks skipping on all DVDs and playing on some others.

Unfortunately I cannot do that to XdTV because upstream think it’s not wise to allow using external FFmpeg, unfortunately. I’ll always try to ask for it now and then so that it can be merged, maybe when the API is more enforced, by using visibility perhaps, it would be simpler.

Anyway, today I was able to get one patch merged in upstream’s code that finally take care of the PIC/_PIC_ problem and that will save me one complex sed line in xine-lib from next snapshot (or next patchset) as I’ve committed there also, and eventually in XdTV next time they sync with FFmpeg’s svn.

Now time for other cleanup and maybe later I’ll go to sleep a bit, as lately I’ve not being able to. I hate when thinking of stuff make my head so heavy that I cannot even sleep. And friends are always the first cause of heavy thoughts.

Comments 3
  1. I think there are some more (mythtv I remember and probably lot’s of others), the main problem is of course that ffmpeg has no releases, no stable api and it’s pretty hard to keep up-to-date with such a permanently-moving-target.Though that’s a big security problem, because codecs typically often have some issues and I doubt everyone always updates his “bundled snapshot”.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.