faceoverlay: don't access message fields directly

This commit is contained in:
Stefan Sauer 2012-03-15 22:49:51 +01:00
parent 3d7c8aad70
commit a31a698943

View file

@ -191,7 +191,7 @@ gst_face_overlay_change_state (GstElement * element, GstStateChange transition)
} }
static void static void
gst_face_overlay_handle_faces (GstFaceOverlay * filter, GstStructure * s) gst_face_overlay_handle_faces (GstFaceOverlay * filter, const GstStructure * s)
{ {
guint x, y, width, height; guint x, y, width, height;
int delta_x, delta_y, svg_x, svg_y, svg_width, svg_height; int delta_x, delta_y, svg_x, svg_y, svg_width, svg_height;
@ -268,9 +268,12 @@ gst_face_overlay_handle_faces (GstFaceOverlay * filter, GstStructure * s)
static void static void
gst_face_overlay_message_handler (GstBin * bin, GstMessage * message) gst_face_overlay_message_handler (GstBin * bin, GstMessage * message)
{ {
if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_ELEMENT && if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_ELEMENT) {
gst_structure_has_name (message->structure, "facedetect")) { const GstStructure *s = gst_message_get_structure (message);
gst_face_overlay_handle_faces (GST_FACEOVERLAY (bin), message->structure);
if (gst_structure_has_name (s, "facedetect")) {
gst_face_overlay_handle_faces (GST_FACEOVERLAY (bin), s);
}
} }
GST_BIN_CLASS (parent_class)->handle_message (bin, message); GST_BIN_CLASS (parent_class)->handle_message (bin, message);