I've found what looks like a bug in FLAC++ inside the Stream::set_metadata()
method. It appears that the contained calls to
FLAC__stream_encoder_set_metadata() are being passed arguments that point to
local stack data (specifically the 'm' parameter which is a table that points
to metadata objects). The code inside FLAC__stream_encoder_set_metadata()
does nothing but store the given args ('m' and 'num_blocks'). When
Stream::set_metadata() exits, those stack objects go out of scope (or
alternatively in the MSVC case, they're explicitly deleted). Later inside the
encoder's init() function, those destroyed data members are accessed and causes
a fault.
I'm new to the mailing list so if this is a known issue, forgive me.
-John
_______________________________________________
Flac-dev mailing list
[email protected]
http://lists.xiph.org/mailman/listinfo/flac-dev