By passing NULL to `g_signal_new` instead of a marshaller, GLib will
actually internally optimize the signal (if the marshaller is available
in GLib itself) by also setting the valist marshaller. This makes the
signal emission a bit more performant than the regular marshalling,
which still needs to box into `GValue` and call libffi in case of a
generic marshaller.
Note that for custom marshallers, one would use
`g_signal_set_va_marshaller()` with the valist marshaller instead.
Summary: Once an iterator is created, it should be freed after usage.
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D318