mpv/video/out
der richter cc09a28d96 mac: fix a race condition when updating the window title
the title is updated on the main thread (mandatory with cocoa)
asynchronously, because otherwise it would either deadlock when done
synchronously, lead to undefined behaviour or just crashes. the problem
here is that the c string was only copied to an NSString within that
asynchronous call, which potentially would access the pointer when it
is accessed, modified or freed by another thread. it is only safe to
access this pointer as long as the control callback wasn't returned yet.

to fix this we move the copying and creation of the String from the
c string pointer outside of the asynchronous call where the conversion
of an untyped pointer to a typed pointer is done too. since the
resulting String is a copy it's safe to be used in the asynchronous
call.

also reverting ee6ad40, since the problem was most likely an SDK problem
or the very same problem as mentioned here. i retested the crash case
again und can't reproduce it anymore. using a swift String again instead
of an NSSstring.

Fixes #12935
2023-11-25 19:31:26 +01:00
..
d3d11 d3d11: expose mp_get_dxgi_adapter and mp_dxgi_validate_adapter 2023-11-22 11:43:20 +01:00
gpu d3d11: expose mp_get_dxgi_adapter and mp_dxgi_validate_adapter 2023-11-22 11:43:20 +01:00
gpu_next
hwdec hwdec_vulkan: use VK_NULL_HANDLE when counting the number of images 2023-11-18 20:46:11 +00:00
mac mac: fix a race condition when updating the window title 2023-11-25 19:31:26 +01:00
opengl opengl/context: remove duplicated conditions 2023-11-18 23:55:28 +00:00
placebo ra_pl: drop deprecated cached_program param 2023-11-05 01:00:02 +00:00
vulkan vo: add missing return variable assignment 2023-11-18 23:55:28 +00:00
win32 meson: adjust win32 defines 2023-11-25 12:38:20 +01:00
wldmabuf
android_common.c
android_common.h
aspect.c aspect: remove unused multiplication 2023-10-23 00:10:42 +00:00
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_cb_common.swift mac: remove runtime checks and compatibility for macOS older than 10.15 2023-11-09 18:12:25 +00:00
dither.c dither: removed some unused code 2023-10-16 15:38:59 +00:00
dither.h
dr_helper.c mp_thread: prefer tracking threads with id 2023-11-05 17:36:17 +00:00
dr_helper.h mp_thread: prefer tracking threads with id 2023-11-05 17:36:17 +00:00
drm_atomic.c
drm_atomic.h
drm_common.c vo: don't sleep 1ms always when requested time is in the past 2023-11-09 21:31:58 +00:00
drm_common.h drm: use present_sync mechanism for presentation feedback 2023-11-06 15:44:45 +00:00
drm_prime.c
drm_prime.h
filter_kernels.c vo_gpu: remove --scale-cutoff etc 2023-09-25 12:45:17 +02:00
filter_kernels.h vo_gpu: remove --scale-cutoff etc 2023-09-25 12:45:17 +02:00
libmpv.h
libmpv_sw.c
mac_common.swift mac: fix build on older swift versions 2023-11-10 14:29:23 +01:00
meson.build meson: rename all features with underscores 2023-08-20 21:13:37 +00:00
present_sync.c present_sync: remove unneeded clear_values function 2023-11-07 00:52:46 +00:00
present_sync.h present_sync: remove unneeded clear_values function 2023-11-07 00:52:46 +00:00
vo.c vo: add params mutex 2023-11-22 11:51:46 +01:00
vo.h vo: add params mutex 2023-11-22 11:51:46 +01:00
vo_caca.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_direct3d.c vo_direct3d: remove redundant condition 2023-11-18 23:55:28 +00:00
vo_dmabuf_wayland.c vo_dmabuf_wayland: correct full window size calculation 2023-10-05 22:28:37 +00:00
vo_drm.c drm: use present_sync mechanism for presentation feedback 2023-11-06 15:44:45 +00:00
vo_gpu.c vo: change vo->driver->wait_events to nanoseconds 2023-10-10 19:10:55 +00:00
vo_gpu_next.c vo: add params mutex 2023-11-22 11:51:46 +01:00
vo_image.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_kitty.c
vo_lavc.c ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
vo_libmpv.c timer: remove unnecesary time conversions 2023-11-05 17:36:17 +00:00
vo_mediacodec_embed.c hwdec: fix undeclared identifier in mediacodec_embed 2023-06-28 10:29:24 -07:00
vo_null.c timer: change mp_sleep_us to mp_sleep_ns 2023-10-10 19:10:55 +00:00
vo_rpi.c timer: remove unnecesary time conversions 2023-11-05 17:36:17 +00:00
vo_sdl.c vo_sdl: fix broken mouse wheel multiplier 2023-11-18 21:02:17 +00:00
vo_sixel.c vo_sixel: change exit-clear handling to OPT_REPLACED 2023-09-21 16:06:29 +00:00
vo_tct.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_vaapi.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_vdpau.c vo: use nanoseconds for frame duration and pts 2023-10-10 19:10:55 +00:00
vo_wlshm.c vo_wlshm: bail out of resize if width/height is 0 2023-07-08 20:47:35 -05:00
vo_x11.c timer: add convenience time unit conversion macros 2023-10-16 15:38:59 +00:00
vo_xv.c timer: add convenience time unit conversion macros 2023-10-16 15:38:59 +00:00
w32_common.c win32: fix hit test using client rc instead window 2023-11-07 16:42:28 +00:00
w32_common.h
wayland_common.c wayland: fix shift+tab keyboard input 2023-11-11 20:43:12 +00:00
wayland_common.h wayland: obey initial size hints set by the compositor 2023-11-10 22:41:35 +00:00
win_state.c
win_state.h
x11_common.c various: replace some OOM handling 2023-11-24 10:04:55 +01:00
x11_common.h various: sort some standard headers 2023-10-20 21:31:09 +02:00