accept any name starting with X11 for X11 grabbers - this lets
authorLuigi Rizzo <rizzo@icir.org>
Sun, 29 Jun 2008 12:53:45 +0000 (12:53 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Sun, 29 Jun 2008 12:53:45 +0000 (12:53 +0000)
you have multiple active instances of this grabber;

require v4l device names to start with '/dev/' - prevents some useless
attempt to open a file as a device.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126309 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/vgrabbers.c

index 0e4e62f..470a19f 100644 (file)
@@ -79,7 +79,8 @@ static void *grab_x11_open(const char *name, struct fbuf_t *geom, int fps)
        struct grab_x11_desc *v;
        struct fbuf_t *b;
 
-       if (strcasecmp(name, "X11"))
+       /* all names starting with X11 identify this grabber */
+       if (strncasecmp(name, "X11", 3))
                return NULL;    /* not us */
        v = ast_calloc(1, sizeof(*v));
        if (v == NULL)
@@ -205,6 +206,9 @@ static void *grab_v4l1_open(const char *dev, struct fbuf_t *geom, int fps)
        struct grab_v4l1_desc *v;
        struct fbuf_t *b;
 
+       /* name should be something under /dev/ */
+       if (strncmp(dev, "/dev/", 5)) 
+               return NULL;
        fd = open(dev, O_RDONLY | O_NONBLOCK);
        if (fd < 0) {
                ast_log(LOG_WARNING, "error opening camera %s\n", dev);