-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
recent mpv crashes (segmentation fault) when using --vo=xv and --wid #2386
Comments
Can't reproduce. |
[reandr@kuh3h3 ~]$ gdb /usr/local/bin/mpv Program received signal SIGSEGV, Segmentation fault. |
[reandr@kuh3h3 ~]$ mpv --version |
Stop using this VO. |
thanks for quick fix. |
i reported this bug already to smplayer bug list.
http://sourceforge.net/p/smplayer/bugs/704/
maybe xv and wid option is culprit.
some months ago there is same error about mpv vo=xv and wid option.
http://forum.smplayer.info/viewtopic.php?f=2&t=7894
so reported to mpv bug list.
#1629
fixed in mpv commit
a2e0cd7
only two line added(vo_xv: don't attempt to clear window before mapped)
after some time,
2015.7.27 some guy removed all vo_x11 releated code.
"vo_x11: remove this video output"
d11184a
2015 9.30 but because of unexpected resistence
Revert "vo_x11: remove this video output".
ebb43f5
i suspect something wrong in this recent changes(video/out/vo_xv.c)
static void xv_draw_colorkey(struct vo *vo, const struct mp_rect *rc)
{
struct xvctx *ctx = vo->priv;
struct vo_x11_state *x11 = vo->x11;
if (ctx->xv_ck_info.method == CK_METHOD_MANUALFILL ||
ctx->xv_ck_info.method == CK_METHOD_BACKGROUND)
{
if (!ctx->vo_gc)
return;
//less tearing than XClearWindow()
XSetForeground(x11->display, ctx->vo_gc, ctx->xv_colorkey);
XFillRectangle(x11->display, x11->window, ctx->vo_gc, rc->x0, rc->y0,
rc->x1 - rc->x0, rc->y1 - rc->y0);
}
}
working version code(video/out/vo_xv.c)
static void xv_draw_colorkey(struct vo *vo, const struct mp_rect *rc)
{
struct xvctx *ctx = vo->priv;
struct vo_x11_state *x11 = vo->x11;
if (ctx->xv_ck_info.method == CK_METHOD_MANUALFILL ||
ctx->xv_ck_info.method == CK_METHOD_BACKGROUND)
{
if (!x11->vo_gc)
return;
//less tearing than XClearWindow()
XSetForeground(x11->display, x11->vo_gc, ctx->xv_colorkey);
XFillRectangle(x11->display, x11->window, x11->vo_gc, rc->x0, rc->y0,
rc->x1 - rc->x0, rc->y1 - rc->y0);
}
}
The text was updated successfully, but these errors were encountered: