Go to file
Niels De Graef 9fa985ca25 mixer-control: Don't specify default c_marshaller
Apart from being less code, this actually gives us a tiny performance
improvement. Up until a few years ago, if you pass `NULL` as the
marshaller for a signal, GLib would fall back to
`g_cclosure_marshal_generic` which uses libffi to pack/unpack its
arguments. One could avoid this by specifying a more specific
marshaller which would then be used to immediately pack and unpack into
GValues with the correct type.

Lately however, as a way of optimizing signal emission (which can be
quite expensive), GLib added a possibility to set a `va_marshaller`,
which skips the unnecessary GValue packing and unpacking and just uses a
valist variant.

Since the performance difference is big enough, if the marshaller
argument is NULL, `g_signal_new()` will now check for the simple
marshallers (return type NONE and a single argument) and set both the
generic and the valist marshaller. In other words, less code for us with
behind-the-scenes optimizations.

In case you also want va_marshallers for more complex signals, you can
use `g_signal_set_va_marshaller()`.
2023-07-18 15:52:10 +00:00
.gitlab-ci ci: Use meson for CI build 2019-11-22 19:37:31 +01:00
.gitignore build: ignore .dirstamp file 2020-04-09 13:53:36 +00:00
.gitlab-ci.yml ci: Build with clang as well 2023-07-18 16:34:32 +02:00
gvc-channel-map-private.h Initial import 2012-10-19 20:00:25 +02:00
gvc-channel-map.c channel-map: Don't specify default c_marshaller 2023-07-18 15:52:10 +00:00
gvc-channel-map.h Initial import 2012-10-19 20:00:25 +02:00
gvc-mixer-card-private.h Initial import 2012-10-19 20:00:25 +02:00
gvc-mixer-card.c Add missing allow-none annotations 2019-03-18 10:58:36 +13:00
gvc-mixer-card.h Add a GIcon accessor for GvcMixerUIDevices 2013-02-18 14:39:54 +01:00
gvc-mixer-control-private.h Initial import 2012-10-19 20:00:25 +02:00
gvc-mixer-control.c mixer-control: Don't specify default c_marshaller 2023-07-18 15:52:10 +00:00
gvc-mixer-control.h gvc: Add "what did you plug in" support API 2016-01-17 18:34:07 -02:00
gvc-mixer-event-role.c avoid deprecated g_type_class_add_private 2018-09-09 00:02:41 +03:00
gvc-mixer-event-role.h Initial import 2012-10-19 20:00:25 +02:00
gvc-mixer-sink-input.c avoid deprecated g_type_class_add_private 2018-09-09 00:02:41 +03:00
gvc-mixer-sink-input.h Fix introspection support 2012-10-19 20:00:47 +02:00
gvc-mixer-sink.c avoid deprecated g_type_class_add_private 2018-09-09 00:02:41 +03:00
gvc-mixer-sink.h Fix introspection support 2012-10-19 20:00:47 +02:00
gvc-mixer-source-output.c avoid deprecated g_type_class_add_private 2018-09-09 00:02:41 +03:00
gvc-mixer-source-output.h Fix introspection support 2012-10-19 20:00:47 +02:00
gvc-mixer-source.c avoid deprecated g_type_class_add_private 2018-09-09 00:02:41 +03:00
gvc-mixer-source.h Fix introspection support 2012-10-19 20:00:47 +02:00
gvc-mixer-stream-private.h Initial import 2012-10-19 20:00:25 +02:00
gvc-mixer-stream.c mixer-control: Expose stream state 2019-11-23 02:42:51 +01:00
gvc-mixer-stream.h mixer-control: Expose stream state 2019-11-23 02:42:51 +01:00
gvc-mixer-ui-device.c Add missing guards for inputs to functions 2019-03-18 10:58:36 +13:00
gvc-mixer-ui-device.h gvc-mixer-ui-device: make stream-id unsigned int 2015-09-09 14:14:15 +03:00
gvc-pulseaudio-fake.h build: Don't limit pulseaudio-fake header to introspection 2019-11-23 02:42:51 +01:00
libgnome-volume-control.doap Comment invalid <category> in DOAP file to pass git pre-receive hook 2018-12-16 01:22:53 +01:00
meson_options.txt build: Rename build options 2018-01-30 13:15:36 +01:00
meson.build build: Bump pulseaudio dependency 2020-04-09 12:14:25 +02:00
README.md README: Add README 2018-09-07 15:31:39 +02:00
test-audio-device-selection.c test-audio-device-selection: fix -Wdiscarded-qualifiers warnings 2020-04-09 13:53:36 +00:00

libgnome-volume-control

libgnome-volume-control is a copy library that's supposed to be used as a git sub-module. If your project uses some of libgnome-volume-control's strings in a user-facing manner, don't forget to add those files to your POTFILES.in for translation.

Projects using libgnome-volume-control