1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-24 15:52:25 +00:00
mpv/video
wm4 e777756301 cocoa: lock cocoa main thread on uninit
This should fix some crashes due to dangling pointers.

The problem was that with_cocoa_lock_on_main_thread() is asynchronous.
It will not wait until it is finished. In the uninit case, this means
the VO could be deallocated and destroyed while cocoa was still running
uninit code.

So simply wait until it is done by using dispatch_sync(). There were
concerns that this could introduce a deadlock by the main thread trying
to wait for something on the VO thread. But from what I can see, this
never happens, and even if it does, it would crash anyway since the VO
is already gone.

One remaining worry is the video_resize_redraw_callback. From what I can
see, it still can mess things up, and will need a more elaborate fix.
2015-05-06 00:36:33 +02:00
..
decode dxva2: fix broken build with gcc 5.1 2015-04-24 17:40:39 +02:00
filter mp_image: remove some unused interlacing flags 2015-04-23 22:06:14 +02:00
out cocoa: lock cocoa main thread on uninit 2015-05-06 00:36:33 +02:00
csputils.c csputils: improve contrast semantics for limited range output 2015-04-29 22:09:09 +02:00
csputils.h Update license headers 2015-04-13 12:10:01 +02:00
fmt-conversion.c Update license headers 2015-04-13 12:10:01 +02:00
fmt-conversion.h Update license headers 2015-04-13 12:10:01 +02:00
hwdec.h RPI support 2015-03-29 16:09:56 +02:00
image_writer.c screenshots: add option to prevent 16 bit output 2015-04-29 21:05:04 +02:00
image_writer.h screenshots: add option to prevent 16 bit output 2015-04-29 21:05:04 +02:00
img_format.c Update license headers 2015-04-13 12:10:01 +02:00
img_format.h Update license headers 2015-04-13 12:10:01 +02:00
img_fourcc.h
mp_image_pool.c Update license headers 2015-04-13 12:10:01 +02:00
mp_image_pool.h
mp_image.c mp_image: remove some unused interlacing flags 2015-04-23 22:06:14 +02:00
mp_image.h mp_image: remove some unused interlacing flags 2015-04-23 22:06:14 +02:00
sws_utils.c sws_utils: re-use avcolorspace for sws colorspaces 2015-05-04 01:34:25 +02:00
sws_utils.h vf_scale: libswscale is being stupid 2015-03-01 22:32:38 +01:00
vaapi.c command: add property returning detected hwdec API 2015-02-02 22:43:13 +01:00
vaapi.h
vdpau_functions.inc
vdpau_mixer.c vdpau: always render to cropped size at most 2015-04-26 18:56:46 +02:00
vdpau_mixer.h
vdpau.c vdpau: don't use a transparent image format for screenshots 2015-04-07 10:18:48 +02:00
vdpau.h