Don't pass default GLib marshallers for signals
authorNiels De Graef <nielsdegraef@gmail.com>
Thu, 29 Aug 2019 05:34:26 +0000 (07:34 +0200)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 4 Nov 2019 14:16:10 +0000 (14:16 +0000)
commit45e77ecdd7acbc58fdb8a4062487f7fd8e453cd3
treef4a749adf4a0664611bd58b925010fa24b6fb0ce
parentf7bbd9dd86c93644b7f2b15e4fc451dea1e17b68
Don't pass default GLib marshallers for signals

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.
gst/rtsp-server/rtsp-auth.c
gst/rtsp-server/rtsp-client.c
gst/rtsp-server/rtsp-media-factory.c
gst/rtsp-server/rtsp-media.c
gst/rtsp-server/rtsp-server.c
gst/rtsp-server/rtsp-session-pool.c
gst/rtsp-server/rtsp-stream.c
gst/rtsp-sink/gstrtspclientsink.c