[Ffmpeg-devel] Externally visible symbols without ff or av prefix

Aurelien Jacobs aurel
Mon Nov 13 15:02:28 CET 2006


On Mon, 13 Nov 2006 13:42:28 -0000 (GMT)
M?ns Rullg?rd <mru at inprovide.com> wrote:

> Aurelien Jacobs said:
> > On Sun, 12 Nov 2006 21:36:26 -0500
> > Rich Felker <dalias at aerifal.cx> wrote:
> >
> >> If the name is "ff_internal_permute_entries" or
> >> something, then the application is almost surely the one doing
> >> something nonsensical if there's a conflict...
> >
> > Why ? Isn't the application allowed to link to lavc and ffRadiusLib [1]
> > and libffjs [2] at the same time ? Why wouldn't those lib use the ff_
> > or ff_internal_ perfix too ? And if a conflict happens, who is wrong ?
> >
> > Well, it seems that ff don't "clearly identify" ffmpeg. Maybe a prefix
> > such as ffmpeg_libavcodec_ would be safer, but it would be somewhat
> > painful to use. Maybe fflavc_ ?
> 
> We could do some post-compile symbol mangling and rename all ff_* symbols
> to something with a longer prefix less likely to conflict, while still
> keeping the code readable.

That's an interesting idea ! And if a conflict still happens with that,
it becomes trivial to change the prefix.
We could even simply apply this method to all symbols which don't have
a ff_ or av_ prefix. This would avoid changing all the sources and
keep the code even more readable.
But I have no idea how to achive this (some nm black magic maybe ?).

Aurel




More information about the ffmpeg-devel mailing list