1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-28 01:52:19 +00:00
mpv/video
wm4 088a0075c5 w32_common: don't wait for GUI thread when polling for events
VOCTRL_CHECK_EVENTS is called on every frame. This is by design, and is
supposed to check the event queue of the windowing API.

With the decoupled GUI thread in w32_common.c this doesn't make too much
sense, and the purpose of VOCTRL_CHECK_EVENTS is really reduced to
checking event flags. Even worse, waiting on the GUI thread can
interfere with playback, since win32 sometimes blocks the event loop
(e.g. clicking the window title bar).

Change the code such that we really only query the event flags. Use
atomics to avoid having to add a new mutex. (We assume we always have
real atomics available. The build system doesn't check this properly,
and it could fall back to dummy atomics, which are not atomic.)

Should help with #3393. Doesn't help if the core happens to send a
synchronous request, most commonly via VOCTRL_SET_CURSOR_VISIBILITY or
VOCTRL_UPDATE_PLAYBACK_STATE.
2016-08-05 16:04:57 +02:00
..
decode video: change hw_subfmt meaning 2016-07-15 13:04:17 +02:00
filter vf_vavpp: get rid of mp_refqueue_is_interlaced() 2016-07-15 20:37:46 +02:00
out w32_common: don't wait for GUI thread when polling for events 2016-08-05 16:04:57 +02:00
csputils.c csp: document deviations from the references where they occur 2016-07-05 19:16:49 +02:00
csputils.h vo_opengl: generalize HDR tone mapping mechanism 2016-07-03 19:42:52 +02:00
fmt-conversion.c build: merge d3d11va and dxva2 hwaccel checks 2016-05-11 15:40:31 +02:00
fmt-conversion.h
gpu_memcpy.c Fix misspellings 2016-06-26 13:47:21 +02:00
gpu_memcpy.h
hwdec.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
hwdec.h videotoolbox: add --hwdec=videotoolbox-copy for h/w accelerated decoding with video filters 2016-07-15 01:01:17 +02:00
image_writer.c mp_image: split colorimetry metadata into its own struct 2016-07-03 19:42:52 +02:00
image_writer.h
img_format.c video: remove d3d11 video processor use from OpenGL interop 2016-05-29 19:00:55 +02:00
img_format.h video: remove d3d11 video processor use from OpenGL interop 2016-05-29 19:00:55 +02:00
img_fourcc.h
mp_image_pool.c
mp_image_pool.h
mp_image.c video: change hw_subfmt meaning 2016-07-15 13:04:17 +02:00
mp_image.h video: change hw_subfmt meaning 2016-07-15 13:04:17 +02:00
sws_utils.c mp_image: split colorimetry metadata into its own struct 2016-07-03 19:42:52 +02:00
sws_utils.h
vaapi.c video: change hw_subfmt meaning 2016-07-15 13:04:17 +02:00
vaapi.h vaapi: determine surface format in decoder, not in renderer 2016-04-11 22:03:26 +02:00
vdpau_functions.inc
vdpau_mixer.c vo_opengl: vdpau: fix certain cases of preemption recovery failures 2016-05-03 13:56:11 +02:00
vdpau_mixer.h vo_opengl: vdpau: fix certain cases of preemption recovery failures 2016-05-03 13:56:11 +02:00
vdpau.c vdpau: get surface data as nv12 if possible 2016-06-21 21:31:58 +02:00
vdpau.h vdpau: get surface data as nv12 if possible 2016-06-21 21:31:58 +02:00