rem: gst_tag_list_foreach (tag_list, print_tag, NULL);
add: BVWSignal *signal;  g_return_if_fail (bvw != NULL); g_return_if_fail (BACON_IS_VIDEO_WIDGET (bvw));  signal = g_new0 (BVWSignal, 1); signal->signal_id = FOUND_TAG; signal->signal_data.found_tag.source = source; signal->signal_data.found_tag.tag_list = tag_list;  g_async_queue_push (bvw->priv->queue, signal);  g_idle_add ((GSourceFunc) bacon_video_widget_signal_idler, bvw);
context: got_found_tag (GstPlay *play, GstElement *source,               GstTagList *tag_list, BaconVideoWidget * bvw){  gst_tag_list_foreach (tag_list, print_tag, NULL);}