discoverer: fix structure leak

I hit the 'misc' one, but let's also make sure the topology
one get freed as well, though I do not know if this can happen
twice.
This commit is contained in:
Vincent Penquerc'h 2012-01-12 14:26:05 +00:00
parent 1a8ee4536c
commit ab7e72ad70

View file

@ -1160,8 +1160,12 @@ handle_message (GstDiscoverer * dc, GstMessage * msg)
GST_DEBUG_OBJECT (GST_MESSAGE_SRC (msg), GST_DEBUG_OBJECT (GST_MESSAGE_SRC (msg),
"Setting result to MISSING_PLUGINS"); "Setting result to MISSING_PLUGINS");
dc->priv->current_info->result = GST_DISCOVERER_MISSING_PLUGINS; dc->priv->current_info->result = GST_DISCOVERER_MISSING_PLUGINS;
if (dc->priv->current_info->misc)
gst_structure_free (dc->priv->current_info->misc);
dc->priv->current_info->misc = gst_structure_copy (msg->structure); dc->priv->current_info->misc = gst_structure_copy (msg->structure);
} else if (sttype == _STREAM_TOPOLOGY_QUARK) { } else if (sttype == _STREAM_TOPOLOGY_QUARK) {
if (dc->priv->current_topology)
gst_structure_free (dc->priv->current_topology);
dc->priv->current_topology = gst_structure_copy (msg->structure); dc->priv->current_topology = gst_structure_copy (msg->structure);
} }
} }