Commit d02e1d7f authored by Edward Hervey's avatar Edward Hervey 🤘 Committed by Edward Hervey

bin: Fix iterator resync'ing

When we get GST_ITERATOR_RESYNC, we need to call gst_iterator_resync()
otherwise we will always get GST_ITERATOR_RESYNC (and that loop would
run forever).
parent ace418d2
......@@ -3109,10 +3109,13 @@ undo:
GST_DEBUG_OBJECT (element,
"Bin failed to change state, switching children back to %s",
gst_element_state_get_name (current));
do {
while (TRUE) {
ret =
gst_iterator_foreach (it, &reset_state, GINT_TO_POINTER (current));
} while (ret == GST_ITERATOR_RESYNC);
if (ret != GST_ITERATOR_RESYNC)
break;
gst_iterator_resync (it);
}
gst_iterator_free (it);
}
goto done;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment