From 3f07ebcc37b77ee7c39f964aab6e207eb7ff028f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Thu, 15 Mar 2012 18:26:24 +0000 Subject: faceoverlay: clear overlay if the face disappears --- gst/faceoverlay/gstfaceoverlay.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'gst/faceoverlay') diff --git a/gst/faceoverlay/gstfaceoverlay.c b/gst/faceoverlay/gstfaceoverlay.c index 9695f0aef..67bd96ee4 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 -- cgit v1.2.1