[Ffmpeg-devel] [PATCH] Staticising mpeg12data header
Diego 'Flameeyes' Pettenò
Tue Sep 19 19:43:58 CEST 2006
On Tuesday 19 September 2006 18:40, Rich Felker wrote:
> Arrg, why does flameeyes keep pushing these OS-specific hacks?
This is NOT os-specific, this works on */Linux, *BSD, Darwin, ...
> but since it's GNU brain damage everyone
> keeps entertaining his broken solutions...
I don't see how ensuring the exported interface can be considered braindamage.
A pain to do the first time, maybe, but not an error. By ensuring a proper
interface is provided, you're also making it safe for other projects to use
FFmpeg without using symbols that might change behaviour, format or who knows
what else. VLC for instance was using a table that was not supposed to be
exported in the first place, up to a couple of months ago.
> If shared libs are this broken then *gasp* don't use shared libs!
Usage of static libraries to link FFmpeg is sub-optimal for at least two
projects currently using FFmpeg (xine and VLC), that both use a plugins-based
architecture. In addition to that, statically linking FFmpeg will become an
extra burden for package maintainers, and a problem from a security point of
view (because you'd need to identify all the programs linking to FFmpeg and
rebuild them every time a vulnerability is discovered).
The burden of using explicit visibility is only initial, because there are all
the symbols to sort out, but after that the work is done, and internal
symbols can be changed without caring about the external ABI (if they are not
exported, they are no more part of ABI).
Plus, you get the interesting upside of having better performance with shared
libraries, that I still find useful even if I know lot of people disagree
with the usage of shared libraries in the first place.
Diego "Flameeyes" Petten? - http://farragut.flameeyes.is-a-geek.org/
Gentoo/Alt lead, Gentoo/FreeBSD, Video, AMD64, Sound, PAM, KDE
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 185 bytes
Desc: not available
More information about the ffmpeg-devel