mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
Make source and source-output server side only
Move source and source-output to the server side again. Make the daemon track objects per sender so that we can remove them when the sender disappears.
This commit is contained in:
parent
1b89f2f8ad
commit
d9444ab360
17 changed files with 139 additions and 205 deletions
|
|
@ -191,6 +191,14 @@ add_interface (PvSubscribe *subscribe,
|
|||
data);
|
||||
}
|
||||
|
||||
static void
|
||||
remove_interface (PvSubscribe *subscribe,
|
||||
const gchar *object_path,
|
||||
const gchar *interface_name)
|
||||
{
|
||||
g_print ("remove interface %s\n", interface_name);
|
||||
}
|
||||
|
||||
static void
|
||||
add_ifaces_and_properties (PvSubscribe *subscribe,
|
||||
const gchar *object_path,
|
||||
|
|
@ -212,6 +220,18 @@ add_ifaces_and_properties (PvSubscribe *subscribe,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
remove_ifaces (PvSubscribe *subscribe,
|
||||
const gchar *object_path,
|
||||
const gchar **ifaces)
|
||||
{
|
||||
while (*ifaces) {
|
||||
remove_interface (subscribe, object_path, *ifaces);
|
||||
|
||||
ifaces++;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
on_manager_proxy_signal (GDBusProxy *proxy,
|
||||
const gchar *sender_name,
|
||||
|
|
@ -242,6 +262,7 @@ on_manager_proxy_signal (GDBusProxy *proxy,
|
|||
&object_path,
|
||||
&ifaces);
|
||||
|
||||
remove_ifaces (subscribe, object_path, ifaces);
|
||||
|
||||
g_free (ifaces);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue