[FFmpeg-devel] Merge all libraries (was: all: avoid data imports across DLL) boundaries

Nicolas George george at nsup.org
Thu Aug 24 17:49:35 EEST 2017


Le sextidi 6 fructidor, an CCXXV, James Almer a écrit :
> Speaking of which, do you or anyone else want to help with applying the
> bump right now instead of waiting until the merges are resumed?

If we are requesting help for a bump, I would like to propose seriously
and request help for the attached patch.

With this change, it builds a single libffmpeg.so.* instead of separate
libav*.so.*.

At this point, the library builds, and the command-line tools can be
built against it and work, but I did not manage to get the build system
to add -lffmpeg at the proper time. And all the extra stuff (make clean,
make install, pkg-config file) is still completely unchanged.

There are many benefits to merging the libraries:

- Easier to share code between components without compatibility issues
  (exactly what James complains about here).

- Less clueless users not managing to link their applications because
  they do not know that the linking order matters.

- Opens the road to getting rid of the global state.

I did not manage to find a real drawback. If somebody finds it a bad
idea, then please explain to me what benefit we get from having several
separate libraries. This is not a rhetorical question, I really would
like an explanation. But I do not agree with the obvious argument of
file size, because almost nobody would use lavu without the rest,
because lavc dwarves all other libraries, and because people who care
about file size do not use pre-built binaries and can disable components
with much more control than library per library.

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-all-merge-all-libraries.patch
Type: text/x-diff
Size: 16857 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170824/dbf36fa1/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170824/dbf36fa1/attachment.sig>


More information about the ffmpeg-devel mailing list