examples: facedetect: only create variables when needed
authorLuis de Bethencourt <luis@debethencourt.com>
Mon, 10 Aug 2015 18:06:16 +0000 (19:06 +0100)
committerLuis de Bethencourt <luis@debethencourt.com>
Mon, 10 Aug 2015 18:09:52 +0000 (19:09 +0100)
The variables to store face values are only needed if they will be used to
control the volume. Which isn't the default to avoid potentially being very
loud accidentally. Only create variables when needed.

tests/examples/opencv/gstfacedetect_test.c

index 1337c2fef9a991cc6afebf5d1479241e1f230d7e..138faf2133ef87c265ef5e5f4e2473b7c6cb6c20 100644 (file)
@@ -36,10 +36,6 @@ bus_sync_handler (GstBus * bus, GstMessage * message, GstPipeline * pipeline)
 {
   const GstStructure *structure;
   const GValue *value;
-  const GstStructure *faces_structure;
-  const GValue *faces_value;
-  gboolean have_mouth_x, have_mouth_y;
-  gboolean have_nose_x, have_nose_y;
   gchar *contents;
   gint i;
   guint size = 0;
@@ -91,12 +87,17 @@ bus_sync_handler (GstBus * bus, GstMessage * message, GstPipeline * pipeline)
       if (ctrlvol) {
         gdouble volume;
 
-        faces_value = gst_value_list_get_value (value, 0);
-        faces_structure = gst_value_get_structure (faces_value);
-        have_mouth_y = gst_structure_has_field (faces_structure, "mouth->y");
-        have_mouth_x = gst_structure_has_field (faces_structure, "mouth->x");
-        have_nose_y = gst_structure_has_field (faces_structure, "nose->y");
-        have_nose_x = gst_structure_has_field (faces_structure, "nose->x");
+        const GValue *faces_value = gst_value_list_get_value (value, 0);
+        const GstStructure *faces_structure =
+            gst_value_get_structure (faces_value);
+        gboolean have_mouth_y =
+            gst_structure_has_field (faces_structure, "mouth->y");
+        gboolean have_mouth_x =
+            gst_structure_has_field (faces_structure, "mouth->x");
+        gboolean have_nose_y =
+            gst_structure_has_field (faces_structure, "nose->y");
+        gboolean have_nose_x =
+            gst_structure_has_field (faces_structure, "nose->x");
 
         /* get the volume value */
         g_object_get (G_OBJECT (playbin), "volume", &volume, NULL);