[gst-devel] Re: [gst-cvs] wingo gstreamer: gstreamer/ gstreamer/gst/ gstreamer/testsuite/ gstreamer/testsuite/ghostpads/

Andy Wingo wingo at pobox.com
Fri Feb 20 04:15:18 CET 2004


On Thu, 05 Feb 2004, David I. Lehn wrote:

> I'm a bit confused by these marshal issues.

To be fair, it's not really the marshaller. Boxed and pointer values are
martialed the same, modulo some potential copying. It's the GTypes in
the signal definition (and thus in the values passed to the marshaller)
that determine the argument types. Of course, if the GValue's type is
G_TYPE_POINTER, you're screwed, because you can't look in a pointer. It
could be a GINT_TO_POINTER or something like that. It's just not
correct.

I think that the copying issues are prevented by the
G_SIGNAL_TYPE_STATIC_SCOPE bitflag (or whatever it's called). All of
Gtk+'s boxed signals set that flag. So even then the marshallers,
although named differently, do the same thing. I still think it's better
to use a boxed marshaller, but it doesn't matter.

However, we do need the GTypes to be set properly. That's the key.
Unless we're marshalling gint* or something, every signal must have
typed arguments. Objections?

Wingo.




More information about the gstreamer-devel mailing list