mpv/video
wm4 a74a324b98 video: return responsibility of video redraw back to playloop
When the VO was moved it its own thread, responsibility for redrawing
was given to the VO thread itself. So if there was a condition that
indicated that redrawing was required, like expose events or certain
VOCTRLs, the VO thread was redrawing itself.

This worked fine, but there are some corner cases where this works
rather badly. E.g. if I fullscreen the player and hit panscan controls
with mpv's default autorepeat rate, playback stops. This happens because
the VO redraws itself after every panscan change command. Running each
(repeated) command takes so long due to redrawing and (involuntary)
waiting on vsync, that it never leaves the input processing loop while
the key is held down. I suspect that in my case, redrawing in fullscreen
mode just gets slow enough that it takes 2 vsyncs instead of 1 on
average, and the processing time gets larger than the autorepeat delay.

Fix this by taking redraw control from the VO, and instead let the
playloop issue a "real" redraw command to the VO if needed. This
basically reverts redraw handling to what it was before moving the VO to
a thread.

CC: @mpv-player/stable
2014-10-03 23:07:08 +02:00
..
decode vd_lavc: fix a small memory leak on init error 2014-09-29 20:37:12 +02:00
filter Fix build with libavfilter disabled 2014-09-28 19:10:50 +02:00
out video: return responsibility of video redraw back to playloop 2014-10-03 23:07:08 +02:00
csputils.c video: adjust some Matroska 3D formats 2014-08-31 14:48:58 +02:00
csputils.h csputils: adjust comment 2014-08-30 23:54:19 +02:00
fmt-conversion.c vda: only support the new hwaccel 1.2 API (remove old code) 2014-08-01 10:38:18 +02:00
fmt-conversion.h
hwdec.h video: move display and timing to a separate thread 2014-08-12 23:24:08 +02:00
image_writer.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
image_writer.h
img_format.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
img_format.h Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
img_fourcc.h build: deal with endian mess 2014-07-10 00:58:56 +02:00
memcpy_pic.h
mp_image.c video: fix some vo_direct3d crashes due to FFmpeg nonsense 2014-09-21 09:33:51 +02:00
mp_image.h video: initial Matroska 3D support 2014-08-30 23:24:46 +02:00
mp_image_pool.c
mp_image_pool.h
sws_utils.c
sws_utils.h
vaapi.c vaapi: try dealing with Intel's braindamaged shit drivers 2014-08-21 22:45:58 +02:00
vaapi.h vaapi: try dealing with Intel's braindamaged shit drivers 2014-08-21 22:45:58 +02:00
vdpau.c vdpau: allocate surfaces by age 2014-08-11 14:03:53 +02:00
vdpau.h vdpau: allocate surfaces by age 2014-08-11 14:03:53 +02:00
vdpau_functions.inc
vdpau_mixer.c vdpau: correctly mark invalid mixer as such on vdp_video_mixer_create() failure 2014-08-13 17:57:19 +02:00
vdpau_mixer.h
vfcap.h