[FFmpeg-devel] [RFC] Windows issues with av_destruct_packet_nofree

Art Clarke aclarke
Thu Feb 19 17:50:42 CET 2009

On Thu, Feb 19, 2009 at 8:14 AM, M?ns Rullg?rd <mans at mansr.com> wrote:

> Michael Niedermayer <michaelni at gmx.at> writes:
> > On Thu, Feb 19, 2009 at 07:57:47AM -0800, Art Clarke wrote:
> > [...]
> >> As Mans' pointed out, comparing function pointer across shared-object
> >> boundaries is undefined.  It turns out to work fine for Linux and Mac
> OS's,
> >> but on Windows, our copy of "av_destruct_packet_nofree" is actually a
> stub
> >> pointing to the method in AVFORMAT.DLL, and inside
> libavutils/utils.c:316
> >> av_dup_packet, the following code then return false when we expected
> true:
> >
> > what mans meant i think was that it is perfectly well defined and some
> things
> > are broken and violate the C standard
> Yes, that is what I meant.  I am also in favour of a restraining order
> on Ulrich Drepper.

Fair enough, although I am not aware of a C compiler that will work as
specified in this area on Microsoft Windows (without all the __dllimport,
__dllexport crap) (GCC/G++ and MSVC both fail).

That said, I think we an all admit it's Windows being stupid.  The question
is, do we modify avformat.h to warn users, or wait 6-months for the next
nincompoop to run into this?

- Art

xu?ggle (z?' gl) v. To freely encode, decode, and experience audio and

Use Xuggle to get the power of FFMPEG in Java.

More information about the ffmpeg-devel mailing list