On Fri, 23 Dec 2016 15:49:16 +0100
Nicolas George <geo...@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.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to