diff --git a/gst/gstiterator.c b/gst/gstiterator.c index ae579423f3..92d4f5f9bb 100644 --- a/gst/gstiterator.c +++ b/gst/gstiterator.c @@ -503,6 +503,8 @@ static void filter_copy (const GstIteratorFilter * it, GstIteratorFilter * copy) { copy->slave = gst_iterator_copy (it->slave); + copy->master_lock = copy->slave->lock ? copy->slave->lock : it->master_lock; + copy->slave->lock = NULL; if (it->have_user_data) { memset (©->user_data, 0, sizeof (copy->user_data));