rem: g_message ("returning error message");
context: bacon_video_widget_open (BaconVideoWidget *bvw, const char *mrl,		GError **error){	int err;	g_return_val_if_fail (mrl != NULL, FALSE);	g_return_val_if_fail (BACON_IS_VIDEO_WIDGET (bvw), FALSE);	g_return_val_if_fail (bvw->priv->xine != NULL, FALSE);	g_return_val_if_fail (bvw->priv->mrl == NULL, FALSE);	err = xine_open (bvw->priv->stream, mrl);	if (err == 0)	{		bacon_video_widget_close (bvw);		xine_error (bvw, error);		return FALSE;	}	if (strcmp (xine_get_meta_info (bvw->priv->stream, XINE_META_INFO_SYSTEMLAYER), "MNG") == 0 && bvw->priv->logo_mode == FALSE)	{		bacon_video_widget_close (bvw);		g_set_error (error, BVW_ERROR, BVW_ERROR_STILL_IMAGE,				_("This movie is a still image. You can open it with an image viewer."));		return FALSE;	}	if (xine_get_stream_info (bvw->priv->stream,				XINE_STREAM_INFO_VIDEO_HANDLED) == FALSE			|| (xine_get_stream_info (bvw->priv->stream,					XINE_STREAM_INFO_HAS_VIDEO) == FALSE				&& xine_get_stream_info (bvw->priv->stream,				XINE_STREAM_INFO_AUDIO_HANDLED) == FALSE))	{		char *name;		gboolean is_audio;		is_audio = (xine_get_stream_info (bvw->priv->stream,				XINE_STREAM_INFO_HAS_VIDEO) == FALSE);		g_signal_emit (G_OBJECT (bvw),				bvw_table_signals[GOT_METADATA], 0, NULL);		name = bacon_video_widget_get_nice_codec_name (bvw, is_audio);		bacon_video_widget_close (bvw);		if (is_audio == FALSE) {			g_set_error (error, BVW_ERROR,					BVW_ERROR_CODEC_NOT_HANDLED,					_("Video codec '%s' is not handled. You might need to install additional plugins to be able to play some types of movies"), name);		} else {			g_set_error (error, BVW_ERROR,					BVW_ERROR_CODEC_NOT_HANDLED,					_("Audio codec '%s' is not handled. You might need to install additional plugins to be able to play some types of movies"), name);		}g_message ("returning error message");		g_free (name);		return FALSE;	}	if (xine_get_stream_info (bvw->priv->stream,				XINE_STREAM_INFO_HAS_VIDEO) == FALSE		&& bvw->priv->ao_driver == NULL		&& bvw->priv->null_out != FALSE)	{		g_signal_emit (G_OBJECT (bvw),				bvw_table_signals[GOT_METADATA], 0, NULL);		bacon_video_widget_close (bvw);		g_set_error (error, BVW_ERROR, BVW_ERROR_AUDIO_ONLY,				_("This is an audio-only file, and there is no audio output available."));		return FALSE;	}	show_vfx_update (bvw, bvw->priv->show_vfx);	bvw->priv->mrl = g_strdup (mrl);	g_signal_emit (G_OBJECT (bvw),			bvw_table_signals[GOT_METADATA], 0, NULL);	return TRUE;}