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

Reimar Döffinger Reimar.Doeffinger
Wed Feb 18 18:38:32 CET 2009


On Wed, Feb 18, 2009 at 05:32:33PM +0000, M?ns Rullg?rd wrote:
> Art Clarke <aclarke at xuggle.com> writes:
> > I just spent somewhere between 2-3 weeks tracking down a weird bug that
> > resulted in our code creating corrupted files on Windows but working fine on
> > Linux and Mac.  The issue, it turns out, affects people who allocate their
> > own AVPackets, and then try to use av_interleaved_write_frame on Windows.
> > That's because on Windows, "av_destruct_packet_nofree" outside of the libav
> > DLL's themselves is NOT the same as "av_destruct_packet_nofree" inside the
> > libav DLLs.  As a result when using av_interleaved_write_frame on Windows,
> > packet you might think FFMPEG is copying, aren't actually duplicated and
> > memory corruption results.
> 
> For the record, such behaviour with respect to comparing function
> addresses is in violation of the C standard.

Nevertheless workarounds were already discussed, I thought we mostly
agreed the current code is ugly - I forgot what happened then though...




More information about the ffmpeg-devel mailing list