And add some function guards. From GLib 2.48 on it is
allowed to pass an uninitialised GValue to g_value_unset().
https://bugzilla.gnome.org/show_bug.cgi?id=763762
GValue item = { 0, };
GstIteratorResult result;
+ g_return_val_if_fail (it != NULL, GST_ITERATOR_ERROR);
+
while (1) {
result = gst_iterator_next (it, &item);
switch (result) {
}
fold_done:
+
+#if GLIB_CHECK_VERSION (2, 48, 0)
g_value_unset (&item);
+#else
+ if (item.g_type != 0)
+ g_value_unset (&item);
+#endif
return result;
}