Go to file
Jonas Dreßler 10a3c0a766 mixer-control: Support adding and removing card-ports after card was added
With pipewire, card ports are added or removed after the card is visible to us.
This is intended from the pipewire side, as audio routing is dynamic and can
change at any time.

This is the case for Bluetooth devices, where there are multiple ports for
the different profiles available. In case a profile becomes available or
goes unavailable (likely this can happen on connection issues on the Bluetooth
link), the ports will change.

Support this scenario by updating the ports list on card changes, adding new
ports (and creating new respective ui-devices) and removing ports (and removing
the respective ui-devices).

Now that we can add ports after creating the card, this likely means we can
remove handling for portless cards. At least Bluetooth devices nowadays have
ports, but they get them later.
2024-03-12 14:38:27 +01: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 mixer-control: Support adding and removing card-ports after card was added 2024-03-12 14:38:27 +01:00
gvc-mixer-card.c mixer-control: Support adding and removing card-ports after card was added 2024-03-12 14:38:27 +01: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: Support adding and removing card-ports after card was added 2024-03-12 14:38:27 +01: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 event-role: Improve GObject properties gunk a bit 2023-07-18 15:52:10 +00: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-stream: Improve GObject properties gunk a bit 2023-07-18 15:52:10 +00:00
gvc-mixer-stream.h mixer-control: Expose stream state 2019-11-23 02:42:51 +01:00
gvc-mixer-ui-device.c mixer-control: Update card, ui-device, and port profiles on changes 2024-03-12 14:38:03 +01: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