summaryrefslogtreecommitdiffstats
path: root/video/out/vo_xv.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-01-27 07:21:10 +0100
committerwm4 <wm4@nowhere>2013-01-27 13:30:54 +0100
commit0535a14505c367693fe729a3f1348c4ffd516af3 (patch)
treecd22dd3c63e5f302107ff038b5998930138d4dc9 /video/out/vo_xv.c
parente4943165c1f1365a5c2d7b0d6924a8f65454ce20 (diff)
downloadmpv-0535a14505c367693fe729a3f1348c4ffd516af3.tar.bz2
mpv-0535a14505c367693fe729a3f1348c4ffd516af3.tar.xz
x11: reduce VO mode switching code duplication
Some parts for initiating mode switches were duplicated in every VO supporting X11 (except vo_opengl/gl_common, which didn't support mode switching). Move this to x11_common.c. Note that this might be slightly risky: is it really guaranteed that no VO needed to do "special" setup that depends on X parameters changing after a mode switch, such as bit depth, visuals etc.? From what I can see, this shouldn't be the case (X probably can't even change depth on the fly). Even if this should be a one-way road, VM switching is in general very useless, and its implementation buggy, so it can just be removed should unfixable problems arise.
Diffstat (limited to 'video/out/vo_xv.c')
-rw-r--r--video/out/vo_xv.c23
1 files changed, 0 insertions, 23 deletions
diff --git a/video/out/vo_xv.c b/video/out/vo_xv.c
index 8d52db96fa..58e549ee16 100644
--- a/video/out/vo_xv.c
+++ b/video/out/vo_xv.c
@@ -97,7 +97,6 @@ struct xvctx {
struct mp_rect src_rect;
struct mp_rect dst_rect;
uint32_t max_width, max_height; // zero means: not set
- int mode_switched;
int Shmem_Flag;
#ifdef HAVE_SHM
XShmSegmentInfo Shminfo[2];
@@ -532,13 +531,6 @@ static int config(struct vo *vo, uint32_t width, uint32_t height,
return -1;
{
-#ifdef CONFIG_XF86VM
- int vm = flags & VOFLAG_MODESWITCHING;
- if (vm) {
- vo_vm_switch(vo);
- ctx->mode_switched = 1;
- }
-#endif
XGetWindowAttributes(x11->display, DefaultRootWindow(x11->display),
&attribs);
XMatchVisualInfo(x11->display, x11->screen, attribs.depth, TrueColor,
@@ -554,17 +546,6 @@ static int config(struct vo *vo, uint32_t width, uint32_t height,
vo_x11_create_vo_window(vo, &vinfo, vo->dx, vo->dy, vo->dwidth,
vo->dheight, flags, CopyFromParent, "xv");
XChangeWindowAttributes(x11->display, x11->window, xswamask, &xswa);
-
-#ifdef CONFIG_XF86VM
- if (vm) {
- /* Grab the mouse pointer in our window */
- if (vo_grabpointer)
- XGrabPointer(x11->display, x11->window, True, 0, GrabModeAsync,
- GrabModeAsync, x11->window, None, CurrentTime);
- XSetInputFocus(x11->display, x11->window, RevertToNone,
- CurrentTime);
- }
-#endif
}
mp_msg(MSGT_VO, MSGL_V, "using Xvideo port %d for hw scaling\n",
@@ -831,10 +812,6 @@ static void uninit(struct vo *vo)
}
for (i = 0; i < ctx->total_buffers; i++)
deallocate_xvimage(vo, i);
-#ifdef CONFIG_XF86VM
- if (ctx->mode_switched)
- vo_vm_close(vo);
-#endif
// uninit() shouldn't get called unless initialization went past vo_init()
vo_x11_uninit(vo);
}