mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-19 00:01:23 +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
ace418d226
commit
d02e1d7f7d
1 changed files with 5 additions and 2 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue