add: GST_DEBUG ("Error on open: %s", (error) ? (*error)->message : "(unknown)");
context: bacon_video_widget_open_with_subtitle (BaconVideoWidget * bvw,		const gchar * mrl, const gchar *subtitle_uri, GError ** error){  gboolean ret;  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->play != NULL, FALSE);  g_return_val_if_fail (bvw->priv->mrl == NULL, FALSE);  /* hmm... */  if (bvw->priv->mrl && strcmp (bvw->priv->mrl, mrl) == 0)    return TRUE;  /* this allows non-URI type of files in the thumbnailer and so on */  g_free (bvw->priv->mrl);  if (mrl[0] == '/') {    bvw->priv->mrl = g_strdup_printf ("file://%s", mrl);  } else {    if (strchr (mrl, ':')) {      bvw->priv->mrl = g_strdup (mrl);    } else {      gchar *cur_dir = g_get_current_dir ();      if (!cur_dir) {	g_set_error (error, BVW_ERROR, BVW_ERROR_GENERIC,	     _("Failed to retrieve working directory"));	return FALSE;      }      bvw->priv->mrl = g_strdup_printf ("file://%s/%s", cur_dir, mrl);      g_free (cur_dir);    }  }  /* this allows to play backups of dvds */  if (g_str_has_prefix (mrl, "dvd:///")) {    g_free (bvw->priv->mrl);    bvw->priv->mrl = g_strdup ("dvd://");    bacon_video_widget_set_media_device (bvw, mrl + strlen ("dvd://"));  }  bvw->priv->got_redirect = FALSE;  bvw->priv->media_has_video = FALSE;  bvw->priv->media_has_audio = FALSE;  bvw->priv->stream_length = 0;  if (g_strrstr (bvw->priv->mrl, "#subtitle:")) {    gchar **uris;    uris = g_strsplit (bvw->priv->mrl, "#subtitle:", 2);    g_object_set (bvw->priv->play, "uri", uris[0],                  "suburi", uris[1], NULL);    g_strfreev (uris);  } else {    g_object_set (bvw->priv->play, "uri", bvw->priv->mrl,		  "suburi", subtitle_uri, NULL);  }  gst_element_set_state (bvw->priv->play, GST_STATE_READY);  ret = poll_for_state_change (bvw, bvw->priv->play, GST_STATE_READY, error);    if (ret) {    g_signal_emit (bvw, bvw_signals[SIGNAL_CHANNELS_CHANGE], 0);  } else {    gst_element_set_state (bvw->priv->play, GST_STATE_NULL);    g_free (bvw->priv->mrl);    bvw->priv->mrl = NULL;  }  return ret;}