summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-05-08 22:37:45 +0200
committerwm4 <wm4@nowhere>2015-05-08 22:38:42 +0200
commit56310605690288f44c49363413e68f7c73325ed1 (patch)
tree4745449ec91a8d97c888cc700bd2d6840d05fdba /video
parent859ddc99064357c752c6f6dfa475cb96430531d2 (diff)
downloadmpv-56310605690288f44c49363413e68f7c73325ed1.tar.bz2
mpv-56310605690288f44c49363413e68f7c73325ed1.tar.xz
vo_drm: allow changing video rectangle settings
Now among other things panscan can be changed during playback. Unfortunately, it flickers. The issue is that reconfig() clears the framebuffer. Removing the clearing shows that the "unused" parts of the picture are not cleared - even though OSD could render there. As such, this is a separate issue.
Diffstat (limited to 'video')
-rw-r--r--video/out/vo_drm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/video/out/vo_drm.c b/video/out/vo_drm.c
index b8f6e1cffe..9ef371eb0d 100644
--- a/video/out/vo_drm.c
+++ b/video/out/vo_drm.c
@@ -618,6 +618,12 @@ static int control(struct vo *vo, uint32_t request, void *data)
case VOCTRL_REDRAW_FRAME:
draw_image(vo, p->last_input);
return VO_TRUE;
+ case VOCTRL_GET_PANSCAN:
+ return VO_TRUE;
+ case VOCTRL_SET_PANSCAN:
+ if (vo->config_ok)
+ reconfig(vo, vo->params, 0);
+ return VO_TRUE;
}
return VO_NOTIMPL;
}