pulse-server: keep track of sink/monitor changes

For sink nodes, keep a separate device_info around for the sink and
the monitor source part of the node. Only emit changes for the sink
and monitor source part when it changed.

See #3388
This commit is contained in:
Wim Taymans 2023-07-31 11:18:36 +02:00
parent 07c574160c
commit c9b7367f8f
6 changed files with 152 additions and 103 deletions

View file

@ -75,6 +75,8 @@ struct pw_manager_object {
struct spa_param_info *params;
uint32_t n_params;
#define PW_MANAGER_OBJECT_FLAG_SOURCE (1<<0)
#define PW_MANAGER_OBJECT_FLAG_SINK (1<<1)
uint64_t change_mask; /* object specific params change mask */
struct spa_list param_list;
unsigned int creating:1;