]> www.vanbest.org Git - motioneye-debian/commitdiff
fixed frame view with remote cameras
authorCalin Crisan <ccrisan@gmail.com>
Sun, 7 Dec 2014 13:24:14 +0000 (15:24 +0200)
committerCalin Crisan <ccrisan@gmail.com>
Sun, 7 Dec 2014 13:24:14 +0000 (15:24 +0200)
src/config.py
src/handlers.py

index 7ede8a2fda5648298ee90de4779fab997f2d2c53..5ea292c2471ff1ff6d6529ca3c13299187a0afba 100644 (file)
@@ -782,7 +782,7 @@ def camera_dict_to_ui(data):
         'streaming_framerate': int(data['stream_maxrate']),
         'streaming_quality': int(data['stream_quality']),
         'streaming_resolution': int(data['@webcam_resolution']),
-        'streaming_server_resize': int(data['@webcam_server_resize']),
+        'streaming_server_resize': data['@webcam_server_resize'],
         'streaming_port': int(data['stream_port']),
         'streaming_motion': int(data['stream_motion']),
         
index c719e4d83a74bf5a97d900dd014e33e5d40094df..e8833c0186b7ac4333800866af3f8f42babb9b6a 100644 (file)
@@ -736,10 +736,28 @@ class PictureHandler(BaseHandler):
     def frame(self, camera_id):
         camera_config = config.get_camera(camera_id)
         
-        self.render('frame.html',
-                camera_id=camera_id,
-                camera_config=camera_config,
-                title=self.get_argument('title', camera_config['@name']))
+        if utils.local_camera(camera_config) or self.get_argument('title', None) is not None:
+            self.render('frame.html',
+                    camera_id=camera_id,
+                    camera_config=camera_config,
+                    title=self.get_argument('title', camera_config.get('@name', '')))
+
+        else: # remote camera, we need to fetch remote config
+            def on_response(remote_ui_config=None, error=None):
+                if error:
+                    return self.render('frame.html',
+                            camera_id=camera_id,
+                            camera_config=camera_config,
+                            title=self.get_argument('title', ''))
+
+                remote_config = config.camera_ui_to_dict(remote_ui_config)
+                self.render('frame.html',
+                        camera_id=camera_id,
+                        camera_config=remote_config,
+                        title=self.get_argument('title', remote_config['@name']))
+
+            remote.get_config(camera_config, on_response)
+
 
     @BaseHandler.auth()
     def download(self, camera_id, filename):