static void
gst_validate_bin_set_media_descriptor (GstValidateMonitor * monitor,
    GstValidateMediaDescriptor * media_descriptor)
{
  GList *tmp;

  GST_VALIDATE_MONITOR_LOCK (monitor);
  for (tmp = GST_VALIDATE_BIN_MONITOR_CAST (monitor)->element_monitors; tmp;
      tmp = tmp->next)
    gst_validate_monitor_set_media_descriptor (tmp->data, media_descriptor);
  GST_VALIDATE_MONITOR_UNLOCK (monitor);

  GST_VALIDATE_MONITOR_CLASS (parent_class)->set_media_descriptor (monitor,
      media_descriptor);
}
static void
gst_validate_element_monitor_class_init (GstValidateElementMonitorClass * klass)
{
  GObjectClass *gobject_class;
  GstValidateMonitorClass *monitor_klass;

  gobject_class = G_OBJECT_CLASS (klass);
  monitor_klass = GST_VALIDATE_MONITOR_CLASS (klass);

  gobject_class->dispose = gst_validate_element_monitor_dispose;

  monitor_klass->setup = gst_validate_element_monitor_do_setup;
  monitor_klass->get_element = gst_validate_element_monitor_get_element;
  monitor_klass->set_media_descriptor =
      gst_validate_element_set_media_descriptor;
}