[FFmpeg-devel] [PATCH 1/6] lavfi/buffersink: add accessors for the stream properties.

wm4 nfxjfg at googlemail.com
Fri Dec 23 18:48:22 EET 2016


On Fri, 23 Dec 2016 15:49:16 +0100
Nicolas George <george at nsup.org> wrote:

> Le primidi 1er nivôse, an CCXXV, wm4 a écrit :
> 
> [about windows COM system]
> 
> > To make it short, everything in COM consists of structs with function
> > pointers. Structs are never extended, if you need new function
> > pointers, you just add new structs, which you can dynamically query
> > from the old ones. This gives you 100% ABI downwards and upwards
> > compatibility. You also don't have to worry about linking to functions
> > not present in older Windows or whatever versions, because structs with
> > function pointers are a compile-time thing. You will merely get a
> > runtime failure when trying to query support for an unsupported struct.
> > (I tried to avoid COM terms, but COM calls these structs "interfaces".)
> > 
> > It's a pretty fascinating contrast to the fuckhackery we do with
> > extending structs while trying to keep ABI compatibility, version
> > and configure checks in API user code when trying to stay compatible
> > with multiple libavcodec versions, etc.  
> 
> It is probably a large part of the reason windows is slow on tomorrow's
> computers while Linux and BSD are fast on yesterday's.

No, it's not.


More information about the ffmpeg-devel mailing list