gint prepare_count;
gint n_active;
gboolean complete;
+ gboolean finishing_unprepare;
/* the pipeline for the media */
GstElement *pipeline;
gint i;
GList *walk;
+ if (priv->finishing_unprepare)
+ return;
+ priv->finishing_unprepare = TRUE;
+
GST_DEBUG ("shutting down");
/* release the lock on shutdown, otherwise pad_added_cb might try to
media_streams_set_blocked (media, FALSE);
- if (priv->status != GST_RTSP_MEDIA_STATUS_UNPREPARING)
- return;
-
for (i = 0; i < priv->streams->len; i++) {
GstRTSPStream *stream;
GST_DEBUG ("stop thread");
gst_rtsp_thread_stop (priv->thread);
}
+
+ priv->finishing_unprepare = FALSE;
}
/* called with state-lock */