@ -70,6 +70,7 @@ typedef struct x11_grab_s
XImage * image ; /**< X11 image holding the grab */
XImage * image ; /**< X11 image holding the grab */
int use_shm ; /**< !0 when using XShm extension */
int use_shm ; /**< !0 when using XShm extension */
XShmSegmentInfo shminfo ; /**< When using XShm, keeps track of XShm infos */
XShmSegmentInfo shminfo ; /**< When using XShm, keeps track of XShm infos */
int mouse_warning_shown ;
} x11_grab_t ;
} x11_grab_t ;
/**
/**
@ -237,6 +238,7 @@ x11grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
x11grab - > y_off = y_off ;
x11grab - > y_off = y_off ;
x11grab - > image = image ;
x11grab - > image = image ;
x11grab - > use_shm = use_shm ;
x11grab - > use_shm = use_shm ;
x11grab - > mouse_warning_shown = 0 ;
st - > codec - > codec_type = CODEC_TYPE_VIDEO ;
st - > codec - > codec_type = CODEC_TYPE_VIDEO ;
st - > codec - > codec_id = CODEC_ID_RAWVIDEO ;
st - > codec - > codec_id = CODEC_ID_RAWVIDEO ;
@ -268,7 +270,11 @@ get_pointer_coordinates(int *x, int *y, Display *dpy, AVFormatContext *s1)
if ( XQueryPointer ( dpy , mrootwindow , & mrootwindow , & childwindow ,
if ( XQueryPointer ( dpy , mrootwindow , & mrootwindow , & childwindow ,
x , y , & dummy , & dummy , ( unsigned int * ) & dummy ) ) {
x , y , & dummy , & dummy , ( unsigned int * ) & dummy ) ) {
} else {
} else {
x11_grab_t * s = s1 - > priv_data ;
if ( ! s - > mouse_warning_shown ) {
av_log ( s1 , AV_LOG_INFO , " couldn't find mouse pointer \n " ) ;
av_log ( s1 , AV_LOG_INFO , " couldn't find mouse pointer \n " ) ;
s - > mouse_warning_shown = 1 ;
}
* x = - 1 ;
* x = - 1 ;
* y = - 1 ;
* y = - 1 ;
}
}