rem: bvw->priv->play = gst_play_new (GST_PLAY_PIPE_VIDEO, err);
add: bvw->priv->play = gst_play_new (GST_PLAY_PIPE_VIDEO_VISUALISATION, err);
context: bacon_video_widget_new (int width, int height,		gboolean null_out, GError **err){	BaconVideoWidget *bvw;	GstElement *audio_sink, *video_sink, *vis_video_sink, *vis_element;	bvw = BACON_VIDEO_WIDGET (g_object_new			(bacon_video_widget_get_type (), NULL));	bvw->priv->play = gst_play_new (GST_PLAY_PIPE_VIDEO, err);	//FIXME	if (*err != NULL)	{		g_message ("error: %s", (*err)->message);		return NULL;	}	audio_sink = gst_gconf_get_default_audio_sink ();	if (!GST_IS_ELEMENT (audio_sink)) {		g_message ("failed to render default audio sink from gconf");		return NULL;	}	video_sink = gst_gconf_get_default_video_sink ();	if (!GST_IS_ELEMENT (video_sink)) {		g_message ("failed to render default video sink from gconf");		return NULL;	}	vis_video_sink = gst_gconf_get_default_video_sink ();	if (!GST_IS_ELEMENT (vis_video_sink)) {		g_message ("failed to render default video sink from gconf for vis");		return NULL;	}/*	vis_element = gst_gconf_get_default_visualisation_element ();	if (!GST_IS_ELEMENT (vis_element)) {		g_message ("failed to render default visualisation element from gconf");		return NULL;	}*/	gst_play_set_video_sink (bvw->priv->play, video_sink);	gst_play_set_audio_sink (bvw->priv->play, audio_sink);//	gst_play_set_visualisation_video_sink (bvw->priv->play, vis_video_sink);//	gst_play_set_visualisation_element (bvw->priv->play, vis_element);	g_signal_connect (G_OBJECT (bvw->priv->play),			"have_xid", (GtkSignalFunc) update_xid, (gpointer) bvw);	g_signal_connect (G_OBJECT (bvw->priv->play),			"have_video_size", (GtkSignalFunc) got_video_size, (gpointer) bvw);		bvw->priv->vw = GST_VIDEO_WIDGET(gst_video_widget_new ());	if (!GST_IS_VIDEO_WIDGET(bvw->priv->vw)) {		g_message ("failed to create video widget");		return NULL;	}		gtk_box_pack_end (GTK_BOX(bvw), GTK_WIDGET(bvw->priv->vw), TRUE, TRUE, 0);		gtk_widget_show (GTK_WIDGET(bvw->priv->vw));		return GTK_WIDGET (bvw);}