From: Calin Crisan <ccrisan@gmail.com>
Date: Sun, 19 Jul 2015 11:48:36 +0000 (+0300)
Subject: also check for persistent device path when determining if a v4l2 camera
X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=37c83c0565232f1d4b9fabff03e0970b33657055;p=motioneye-debian

also check for persistent device path when determining if a v4l2 camera
is already added
---

diff --git a/src/handlers.py b/src/handlers.py
index 2a2cfe3..34966e7 100644
--- a/src/handlers.py
+++ b/src/handlers.py
@@ -525,7 +525,8 @@ class ConfigHandler(BaseHandler):
                 if utils.v4l2_camera(data):
                     configured_devices.add(data['videodevice'])
 
-            cameras = [{'id': d[0], 'name': d[1]} for d in v4l2ctl.list_devices() if d[0] not in configured_devices]
+            cameras = [{'id': d[1], 'name': d[2]} for d in v4l2ctl.list_devices()
+                    if (d[0] not in configured_devices) and (d[1] not in configured_devices)]
             
             self.finish_json({'cameras': cameras})
 
diff --git a/src/v4l2ctl.py b/src/v4l2ctl.py
index 3be3467..53de064 100644
--- a/src/v4l2ctl.py
+++ b/src/v4l2ctl.py
@@ -90,12 +90,12 @@ def list_devices():
     for line in output.split('\n'):
         if line.startswith('\t'):
             device = line.strip()
-            device = find_persistent_device(device)
-            devices.append((device, name))
+            persistent_device = find_persistent_device(device)
+            devices.append((device, persistent_device, name))
         
-            logging.debug('found device %(name)s: %(device)s' % {
-                    'name': name, 'device': device})
-            
+            logging.debug('found device %(name)s: %(device)s, %(persistent_device)s' % {
+                    'name': name, 'device': device, 'persistent_device': persistent_device})
+
         else:
             name = line.split('(')[0].strip()