GNOME Bugzilla – Bug 779249
x264enc: Crashes on Windows/64 bit
Last modified: 2017-04-27 09:21:40 UTC
This seems to be somehow caused by bug #777903, reverting that commit makes it work again. However things still look a bit wrong then. Program received signal SIGSEGV, Segmentation fault. 0x000000006e7c183b in load_x264_libraries () at gstx264enc.c:295 295 if (*default_vtable.x264_bit_depth == 8) { (gdb) print default_vtable.x264_bit_depth $1 = (const int *) 0xda9978bc (gdb) print &x264_bit_depth $2 = (const int *) 0x7ff9da9978bc (gdb) print *((const int *) 0x7ff9da9978bc) Cannot access memory at address 0x7ff9da9978bc (gdb) print *((const int *) 0x7ffbda9978bc) $3 = 8 (gdb) print x264_bit_depth Cannot access memory at address 0x7ff9da9978bc With the old version, directly accessing x264_bit_depth also fails, but via the default_vtable for some reason it works (and has the correct pointer address, note the 'b' vs. '9'). For 1.11.2, I've reverted the patch for the Windows 64 bit build only.
Created attachment 350523 [details] [review] Use __declspec(dllimport) with MinGW too This patch fixes it for me, and we should commit this for .92. However, I want to revisit the original change and see if it's still needed with MSVC even with this patch.
commit c6a002613759070f814ecab18c4bfd5cc68d8251 Author: Nirbheek Chauhan <nirbheek@centricular.com> Date: Thu Apr 27 12:42:34 2017 +0530 x264: Use __declspec(dllimport) with MinGW too x264.h says this isn't needed with MinGW, but it looks like it is. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=779249