[SCM] libav/experimental: Make x11grab output its warning that it couldn't find the mouse pointer only once. This prevents flooding of the terminal when grabbing from a different X-screen.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:55:53 UTC 2013


The following commit has been merged in the experimental branch:
commit ca4544409e32d692504b44e4ae804c3538993904
Author: Panagiotis Issaris <takis.issaris at uhasselt.be>
Date:   Fri Feb 2 17:54:50 2007 +0000

    Make x11grab output its warning that it couldn't find the mouse pointer only
    once. This prevents flooding of the terminal when grabbing from a different
    X-screen.
    
    Originally committed as revision 7808 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/x11grab.c b/libavformat/x11grab.c
index 66e3be5..86b13ed 100644
--- a/libavformat/x11grab.c
+++ b/libavformat/x11grab.c
@@ -70,6 +70,7 @@ typedef struct x11_grab_s
     XImage *image;           /**< X11 image holding the grab */
     int use_shm;             /**< !0 when using XShm extension */
     XShmSegmentInfo shminfo; /**< When using XShm, keeps track of XShm infos */
+    int mouse_warning_shown;
 } x11_grab_t;
 
 /**
@@ -237,6 +238,7 @@ x11grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
     x11grab->y_off = y_off;
     x11grab->image = image;
     x11grab->use_shm = use_shm;
+    x11grab->mouse_warning_shown = 0;
 
     st->codec->codec_type = CODEC_TYPE_VIDEO;
     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,
                       x, y, &dummy, &dummy, (unsigned int*)&dummy)) {
     } else {
-        av_log(s1, AV_LOG_INFO, "couldn't find mouse pointer\n");
+        x11_grab_t *s = s1->priv_data;
+        if (!s->mouse_warning_shown) {
+            av_log(s1, AV_LOG_INFO, "couldn't find mouse pointer\n");
+            s->mouse_warning_shown = 1;
+        }
         *x = -1;
         *y = -1;
     }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list