[FFmpeg-devel] [FFmpeg-cvslog] w32pthreads: always use Vista+ API, drop XP support

Michael Niedermayer michael at niedermayer.cc
Tue Jan 2 04:58:14 EET 2018


On Tue, Jan 02, 2018 at 03:55:18AM +0100, Michael Niedermayer wrote:
> On Tue, Dec 26, 2017 at 01:50:08AM +0000, wm4 wrote:
> > ffmpeg | branch: master | wm4 <nfxjfg at googlemail.com> | Thu Dec 21 20:23:14 2017 +0100| [9b121dfc32810250938021952aab4172a988cb56] | committer: wm4
> > 
> > w32pthreads: always use Vista+ API, drop XP support
> > 
> > This removes the XP compatibility code, and switches entirely to SWR
> > locks, which are available starting at Windows Vista.
> > 
> > This removes CRITICAL_SECTION use, which allows us to add
> > PTHREAD_MUTEX_INITIALIZER, which will be useful later.
> > 
> > Windows XP is hereby not a supported build target anymore. It was
> > decided in a project vote that this is OK.
> > 
> > > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9b121dfc32810250938021952aab4172a988cb56
> > ---
> > 
> >  Changelog                  |   2 +
> >  compat/w32pthreads.h       | 266 ++-------------------------------------------
> >  configure                  |  13 ++-
> >  libavcodec/pthread_frame.c |   4 -
> >  libavcodec/pthread_slice.c |   4 -
> >  libavfilter/pthread.c      |   4 -
> >  libavutil/slicethread.c    |   4 -
> >  7 files changed, 19 insertions(+), 278 deletions(-)
> 
> This breaks mingw32 / wine support on ubuntu 14.04
> the code simply crashes at runtime

Heres what wine provides as debug info:

Unhandled exception: unimplemented function KERNEL32.dll.InitializeConditionVariable called in 32-bit code (0x7bc4e590).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7bc4e590 ESP:06f1e598 EBP:06f1e5fc EFLAGS:00000206(   - --  I   - -P- )
 EAX:01c9be44 EBX:7bcbf000 ECX:00000000 EDX:7bcda388
 ESI:06f1e5a4 EDI:0019b2c0
Stack dump:
0x06f1e598:  06f1e5d8 f75abfbc 00000000 80000100
0x06f1e5a8:  00000001 00000000 7bc4e590 00000002
0x06f1e5b8:  01c9cd04 01c9be44 0019b340 00000000
0x06f1e5c8:  f75abf7b 7b8b5000 004422b0 0019b2c0
0x06f1e5d8:  06f1e608 7b8788ff 00000000 7ba5a648
0x06f1e5e8:  7b893f6b 7b8878ac 0019b2d8 0019b240
Backtrace:
=>0 0x7bc4e590 call_dll_entry_point+0x480() in ntdll (0x06f1e5fc)
  1 0x0023000f (0x06f1e658)
  2 0x00442393 in ffmpeg_g (+0x42392) (0x0019b200)
  3 0x0043a148 in ffmpeg_g (+0x3a147) (0x0019b200)
  4 0x004334d0 in ffmpeg_g (+0x334cf) (0x0019b200)
  5 0x00433ed6 in ffmpeg_g (+0x33ed5) (0x0019b080)
  6 0x0040e644 in ffmpeg_g (+0xe643) (0x00191300)
  7 0x00420e15 in ffmpeg_g (+0x20e14) (0x00000001)
  8 0x0042121c in ffmpeg_g (+0x2121b) (0x00000400)
  9 0x0042490b in ffmpeg_g (+0x2490a) (0x00000000)
  10 0x00426fc7 in ffmpeg_g (+0x26fc6) (0x00000000)
  11 0x0104d5bb in ffmpeg_g (+0xc4d5ba) (0x06f1fd98)
  12 0x004013e0 in ffmpeg_g (+0x13df) (0x06f1fe60)
  13 0x7b85e5cc call_process_entry+0xb() in kernel32 (0x06f1fe78)
  14 0x7b85f653 in kernel32 (+0x4f652) (0x06f1feb8)
  15 0x7bc799b0 call_thread_func_wrapper+0xb() in ntdll (0x06f1fed8)
  16 0x7bc7c93d call_thread_func+0x7c() in ntdll (0x06f1ffa8)
  17 0x7bc7998e RtlRaiseException+0x21() in ntdll (0x06f1ffc8)
  18 0x7bc4e8fe call_dll_entry_point+0x7ed() in ntdll (0x06f1ffe8)
  19 0xf75b050d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
  20 0xf75b05cb wine_switch_to_stack+0x2a() in libwine.so.1 (0xff8dbd58)
  21 0x7bc541e2 LdrInitializeThunk+0x3a1() in ntdll (0xff8dbdb8)
  22 0x7b865bdd __wine_kernel_init+0xa0c() in kernel32 (0xff8dced8)
  23 0x7bc547a3 __wine_process_init+0x192() in ntdll (0xff8dcf68)
  24 0xf75adc70 wine_init+0x30f() in libwine.so.1 (0xff8dcfc8)
  25 0x7bf00fdc main+0xfb() in <wine-loader> (0xff8dd418)
  26 0xf73adaf3 __libc_start_main+0xf2() in libc.so.6 (0x00000000)

  [...]


-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In fact, the RIAA has been known to suggest that students drop out
of college or go to community college in order to be able to afford
settlements. -- The RIAA
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180102/7f02738a/attachment.sig>


More information about the ffmpeg-devel mailing list