mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-20 00:31:13 +00:00
pbutils: discoverer: Always set the pipeline back to NULL after an error
Otherwize the pipeline would be in an wrong state and on the next iteration any kind of error could happen Everytime an error happens in a pipeline the application has to set the pipeline back to NULL instead of READY. https://bugzilla.gnome.org/show_bug.cgi?id=733976
This commit is contained in:
parent
cf50b45ff6
commit
235e462077
1 changed files with 10 additions and 2 deletions
|
@ -1514,12 +1514,20 @@ discoverer_cleanup (GstDiscoverer * dc)
|
|||
GST_DEBUG ("Cleaning up");
|
||||
|
||||
gst_bus_set_flushing (dc->priv->bus, TRUE);
|
||||
|
||||
DISCO_LOCK (dc);
|
||||
if (dc->priv->current_error) {
|
||||
g_error_free (dc->priv->current_error);
|
||||
DISCO_UNLOCK (dc);
|
||||
gst_element_set_state ((GstElement *) dc->priv->pipeline, GST_STATE_NULL);
|
||||
} else {
|
||||
DISCO_UNLOCK (dc);
|
||||
}
|
||||
|
||||
gst_element_set_state ((GstElement *) dc->priv->pipeline, GST_STATE_READY);
|
||||
gst_bus_set_flushing (dc->priv->bus, FALSE);
|
||||
|
||||
DISCO_LOCK (dc);
|
||||
if (dc->priv->current_error)
|
||||
g_error_free (dc->priv->current_error);
|
||||
dc->priv->current_error = NULL;
|
||||
if (dc->priv->current_topology) {
|
||||
gst_structure_free (dc->priv->current_topology);
|
||||
|
|
Loading…
Reference in a new issue