iterator: only unset GValue if it was inited
iterator: only unset GValue if it was inited

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

StreamUtils/gstreamer,StreamUtils/gstreamer,StreamUtils/gstreamer,StreamUtils/gstreamer,StreamUtils/gstreamer