iterator: resync to avoid infinite loop

This commit is contained in:
Stian Selnes 2010-12-14 16:06:46 +01:00 committed by Sebastian Dröge
parent b17537d14d
commit c19f44e1d2

View file

@ -664,6 +664,8 @@ gst_iterator_find_custom (GstIterator * it, GCompareFunc func,
res = res =
gst_iterator_fold (it, (GstIteratorFoldFunction) find_custom_fold_func, gst_iterator_fold (it, (GstIteratorFoldFunction) find_custom_fold_func,
&ret, &data); &ret, &data);
if (res == GST_ITERATOR_RESYNC)
gst_iterator_resync (it);
} while (res == GST_ITERATOR_RESYNC); } while (res == GST_ITERATOR_RESYNC);
/* no need to unset, it's just a pointer */ /* no need to unset, it's just a pointer */