]> www.vanbest.org Git - motioneye-debian/commitdiff
fixed editable mask for rotated cameras
authorCalin Crisan <ccrisan@gmail.com>
Fri, 10 Feb 2017 23:31:55 +0000 (01:31 +0200)
committerCalin Crisan <ccrisan@gmail.com>
Fri, 10 Feb 2017 23:31:55 +0000 (01:31 +0200)
motioneye/config.py

index a3f357f334f0df3e7dc7092b5f36c71d0559a1ed..e08f4a21aea72ba28e56c6d8d536d9dbb7c7d70a 100644 (file)
@@ -946,7 +946,11 @@ def motion_camera_ui_to_dict(ui, old_config=None):
             data['smart_mask_speed'] = 10 - int(ui['smart_mask_sluggishness'])
 
         elif ui['mask_type'] == 'editable':
-            data['mask_file'] = utils.build_editable_mask_file(old_config['@id'], ui['mask_lines'], data.get('width'), data.get('height'))
+            capture_width, capture_height = data.get('width'), data.get('height')
+            if data.get('rotate') in [90, 270]:
+                capture_width, capture_height = capture_height, capture_width
+
+            data['mask_file'] = utils.build_editable_mask_file(old_config['@id'], ui['mask_lines'], capture_width, capture_height)
 
     # working schedule
     if ui['working_schedule']:
@@ -1327,7 +1331,12 @@ def motion_camera_dict_to_ui(data):
     if data['mask_file']:
         ui['mask'] = True
         ui['mask_type'] = 'editable'
-        ui['mask_lines'] = utils.parse_editable_mask_file(data['@id'], data.get('width'), data.get('height'))
+        
+        capture_width, capture_height = data.get('width'), data.get('height')
+        if int(data.get('rotate')) in [90, 270]:
+            capture_width, capture_height = capture_height, capture_width
+        
+        ui['mask_lines'] = utils.parse_editable_mask_file(data['@id'], capture_width, capture_height)
 
     elif data['smart_mask_speed']:
         ui['mask'] = True