mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2025-02-02 02:04:19 +00:00
Merge commit '89fa2b5616274194d90bde0aeebf6adbd1245193'
* commit '89fa2b5616274194d90bde0aeebf6adbd1245193': x11grab: Check for XFixes availability at runtime See: a65c0a3fe822386be30fd3371af9f0d008b02874 Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
98baa8151a
@ -172,6 +172,19 @@ static int setup_shm(AVFormatContext *s, Display *dpy, XImage **image)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int setup_mouse(Display *dpy, int screen)
|
||||
{
|
||||
int ev_ret, ev_err;
|
||||
|
||||
if (XFixesQueryExtension(dpy, &ev_ret, &ev_err)) {
|
||||
Window root = RootWindow(dpy, screen);
|
||||
XFixesSelectCursorInput(dpy, root, XFixesDisplayCursorNotifyMask);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return AVERROR(ENOSYS);
|
||||
}
|
||||
|
||||
static int pixfmt_from_image(AVFormatContext *s, XImage *image, int *pix_fmt)
|
||||
{
|
||||
av_log(s, AV_LOG_DEBUG,
|
||||
@ -326,6 +339,12 @@ static int x11grab_read_header(AVFormatContext *s1)
|
||||
AllPlanes, ZPixmap);
|
||||
}
|
||||
|
||||
if (x11grab->draw_mouse && setup_mouse(dpy, screen) < 0) {
|
||||
av_log(s1, AV_LOG_WARNING,
|
||||
"XFixes not available, cannot draw the mouse cursor\n");
|
||||
x11grab->draw_mouse = 0;
|
||||
}
|
||||
|
||||
x11grab->frame_size = x11grab->width * x11grab->height * image->bits_per_pixel / 8;
|
||||
x11grab->dpy = dpy;
|
||||
x11grab->time_base = av_inv_q(x11grab->framerate);
|
||||
|
Loading…
x
Reference in New Issue
Block a user