rem: gst_element_set_state (bvw->priv->play, GST_STATE_READY);
add: gst_element_set_state (bvw->priv->play, GST_STATE_NULL);
context: bacon_video_widget_finalize (GObject * object){  BaconVideoWidget *bvw = (BaconVideoWidget *) object;  g_free (bvw->priv->media_device);  bvw->priv->media_device = NULL;      g_free (bvw->priv->mrl);  bvw->priv->mrl = NULL;   if (bvw->priv->vis_plugins_list) {    g_list_free (bvw->priv->vis_plugins_list);    bvw->priv->vis_plugins_list = NULL;  }  if (bvw->priv->play != NULL && GST_IS_ELEMENT (bvw->priv->play)) {    /* why not NULL? */    gst_element_set_state (bvw->priv->play, GST_STATE_READY);    gst_object_unref (bvw->priv->play);    bvw->priv->play = NULL;  }  if (bvw->priv->update_id) {    g_source_remove (bvw->priv->update_id);    bvw->priv->update_id = 0;  }  if (bvw->priv->tagcache) {    gst_tag_list_free (bvw->priv->tagcache);    bvw->priv->tagcache = NULL;  }  if (bvw->priv->audiotags) {    gst_tag_list_free (bvw->priv->audiotags);    bvw->priv->audiotags = NULL;  }  if (bvw->priv->videotags) {    gst_tag_list_free (bvw->priv->videotags);    bvw->priv->videotags = NULL;  }  g_free (bvw->priv);  G_OBJECT_CLASS (parent_class)->finalize (object);}