GNOME Bugzilla – Bug 630378
speexenc/speexdec crash with MSVC
Last modified: 2010-09-23 19:59:00 UTC
Created attachment 170872 [details] [review] Speex patch using speex_lib_get_mode() Using speex rc1 compiled with GCC against GStreamer compiled with MSVC results in fatal crashes using a simple pipeline such as: audiotestsrc ! speexenc ! speexdec ! fakesink The attached patch resolves the problem by accessing speex modes through speex_lib_get_mode() instead of directly through speex_nb_mode, speex_wb_mode, and friends. Speex had to be compiled with --disable-sse presumably because of stack alignment issues between GCC and MSVC (but that's an issue for the speex folks to resolve). I do not know if it works with a statically linked libspeex. Works fine with a shared library.
Please attach patches in git format-patch format in the future. commit 9f8619e5ca87c6abef11babcaf7fc41cc9d99002 Author: David Hoyt <dhoyt@llnl.gov> Date: Thu Sep 23 21:57:18 2010 +0200 speex: Fix crashes with MSVC Using the symbols for the different Speex modes results in crashes when using MSVC. Use the library functions to get the modes instead. Fixes bug #630378.