summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnl/gnlcomposition.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gnl/gnlcomposition.c b/gnl/gnlcomposition.c
index 91d22d8..ebfdfce 100644
--- a/gnl/gnlcomposition.c
+++ b/gnl/gnlcomposition.c
@@ -2621,16 +2621,20 @@ update_pipeline (GnlComposition * comp, GstClockTime currenttime,
GST_LOG_OBJECT (comp,
"Setting the composition's ghostpad target to %s:%s",
GST_DEBUG_PAD_NAME (pad));
+
+ COMP_OBJECTS_LOCK (comp);
gnl_composition_ghost_pad_set_target (comp, pad, topentry);
if (topentry->probeid) {
if (comp->priv->user_seek_flush) {
+ COMP_OBJECTS_UNLOCK (comp);
gst_pad_push_event (comp->priv->ghostpad,
gst_event_new_flush_start ());
GST_PAD_STREAM_LOCK (comp->priv->ghostpad);
GST_PAD_STREAM_UNLOCK (comp->priv->ghostpad);
gst_pad_push_event (comp->priv->ghostpad,
gst_event_new_flush_stop (TRUE));
+ COMP_OBJECTS_LOCK (comp);
comp->priv->user_seek_flush = FALSE;
}
@@ -2640,9 +2644,9 @@ update_pipeline (GnlComposition * comp, GstClockTime currenttime,
topentry->probeid = 0;
}
} else {
+ COMP_OBJECTS_LOCK (comp);
ret = FALSE;
}
- COMP_OBJECTS_LOCK (comp);
gst_object_unref (pad);
} else {