add: if (xine_get_stream_info (bvw->priv->stream, XINE_STREAM_INFO_HAS_VIDEO) == FALSE && bvw->priv->ao_driver == NULL) { bacon_video_widget_close (bvw);  g_set_error (gerror, 0, 0, _("This is an audio-only file, and there is no audio output available"));  return FALSE; }
context: bacon_video_widget_open (BaconVideoWidget *bvw, const gchar *mrl,		GError **gerror){	int error;	gboolean has_video;	g_return_val_if_fail (bvw != NULL, FALSE);	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);	bvw->priv->mrl = g_strdup (mrl);	error = xine_open (bvw->priv->stream, mrl);	if (error == 0)	{		bacon_video_widget_close (bvw);		xine_error (bvw, gerror);		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))	{		uint32_t fourcc;		char *fourcc_str, *name;		fourcc = xine_get_stream_info (bvw->priv->stream,				XINE_STREAM_INFO_VIDEO_FOURCC);		fourcc_str = get_fourcc_string (fourcc);		name = g_strdup (xine_get_meta_info (bvw->priv->stream,				XINE_META_INFO_VIDEOCODEC));		bacon_video_widget_close (bvw);		g_set_error (gerror, 0, 0,				_("Video codec '%s' is not handled"),				name ? name : fourcc_str);		g_free (fourcc_str);		g_free (name);		return FALSE;	}	show_vfx_update (bvw, bvw->priv->show_vfx);	return TRUE;}