mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-23 23:58:17 +00:00
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).
This commit is contained in:
parent
8152f3a320
commit
1fdc091aa8
1 changed files with 5 additions and 2 deletions
|
@ -2920,10 +2920,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;
|
||||
|
|
Loading…
Reference in a new issue