rem: g_message ("got metadata");
context: bacon_video_widget_information (GstPlay * play,				GstObject * object,				GParamSpec * param, BaconVideoWidget * bvw){  g_return_if_fail (bvw != NULL);  g_return_if_fail (BACON_IS_VIDEO_WIDGET (bvw));  g_return_if_fail (GST_IS_PLAY (bvw->priv->play));  g_return_if_fail (object != NULL);  GValue value = { 0, };  GstCaps *metadata;  GstProps *props;  GList *p;  if (strcmp (param->name, "metadata") == 0)    {      g_message ("got metadata");      g_value_init (&value, param->value_type);      g_object_get_property (G_OBJECT (object), param->name, &value);      metadata = g_value_peek_pointer (&value);      props = gst_caps_get_props (metadata);      p = props->properties;      while (p)	{	  const gchar *name;	  const gchar *val;	  GstPropsEntry *entry = (GstPropsEntry *) p->data;	  name = gst_props_entry_get_name (entry);	  gst_props_entry_get_string (entry, &val);	  g_hash_table_replace (bvw->priv->metadata_hash,				g_ascii_strdown (name, -1), (char *) val);	  p = g_list_next (p);	}      g_signal_emit (G_OBJECT (bvw), bvw_table_signals[GOT_METADATA], 0,		     NULL);    }}