[FFmpeg-devel] [PATCH 01/54] avformat: Add internal flags for AV(In|Out)putFormat

Diederick C. Niehorster dcnieho at gmail.com
Wed Jun 16 19:00:09 EEST 2021


On Wed, Jun 16, 2021 at 12:45 PM Andreas Rheinhardt
<andreas.rheinhardt at outlook.com> wrote:
> Cost: It might force you to update more libraries, thereby increasing
> download (or upload if you are the distributor) size.
> Benefit: Besides fixing the horrible libavformat-libavdevice
> relationship (we are currently not able to add a public field to
> AV(In|Out)putFormat unless the ABI is open; we are not able to add new
> private fields either if they are to be used in libavformat unless we
> add checks for whether we deal with a device from an old version of
> libavdevice that doesn't this option; we can not remove private fields
> unless the ABI is open) it also makes sizeof of all our internal structs
> usable in all libraries; because all the offsets are fixed, the avpriv
> functions that are basically getters and setters can be removed
> immediately. Structures crossing library boundaries were no problem any
> more (we accidentally broke ABI in 88d80cb97 with this; it wouldn't be a
> problem at all if we disallowed using libraries from different
> revisions). We can also modify all avpriv symbols without caring about
> compatibility with older users.

Thanks both for writing in, seems to me like costs outweigh the
benefits. Its certainly the easiest solution to an important part of
the avdevice debate.

Curious what others think!

Cheers,
Dee


More information about the ffmpeg-devel mailing list