gst-plugins-bad: faceoverlay: clear overlay if the face disappears

Tim Müller tpm at kemper.freedesktop.org
Thu Mar 15 11:37:09 PDT 2012


Module: gst-plugins-bad
Branch: master
Commit: 3f07ebcc37b77ee7c39f964aab6e207eb7ff028f
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=3f07ebcc37b77ee7c39f964aab6e207eb7ff028f

Author: Tim-Philipp Müller <tim.muller at collabora.co.uk>
Date:   Thu Mar 15 18:26:24 2012 +0000

faceoverlay: clear overlay if the face disappears

---

 gst/faceoverlay/gstfaceoverlay.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/gst/faceoverlay/gstfaceoverlay.c b/gst/faceoverlay/gstfaceoverlay.c
index 9695f0a..67bd96e 100644
--- a/gst/faceoverlay/gstfaceoverlay.c
+++ b/gst/faceoverlay/gstfaceoverlay.c
@@ -211,9 +211,14 @@ gst_face_overlay_handle_faces (GstFaceOverlay * filter, GstStructure * s)
   face_count = gst_value_list_get_size (faces_list);
   GST_LOG_OBJECT (filter, "face count: %d", face_count);
 
-  /* FIXME: should we clear the overlay in this case? */
-  if (face_count == 0)
+  if (face_count == 0) {
+    GST_DEBUG_OBJECT (filter, "no face, clearing overlay");
+    g_object_set (filter->svg_overlay, "location", NULL, NULL);
+    GST_OBJECT_LOCK (filter);
+    filter->update_svg = TRUE;
+    GST_OBJECT_UNLOCK (filter);
     return;
+  }
 
   /* The last face in the list seems to be the right one, objects mistakenly
    * detected as faces for a couple of frames seem to be in the list



More information about the gstreamer-commits mailing list