mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
pulse-server: behave like PA when moving streams to default
Pulseaudio unsets the preferred sink/source when stream is moved to a default target. Emulate this behavior by setting + unsetting target.node, which informs policy-node to move it accordingly.
This commit is contained in:
parent
d1a0121b7c
commit
d46c58e958
2 changed files with 30 additions and 5 deletions
|
@ -675,6 +675,7 @@ int pw_manager_set_metadata(struct pw_manager *manager,
|
|||
struct object *s;
|
||||
va_list args;
|
||||
char buf[1024];
|
||||
char *value;
|
||||
|
||||
if ((s = find_object(m, subject)) == NULL)
|
||||
return -ENOENT;
|
||||
|
@ -686,12 +687,18 @@ int pw_manager_set_metadata(struct pw_manager *manager,
|
|||
if (!SPA_FLAG_IS_SET(metadata->permissions, PW_PERM_W|PW_PERM_X))
|
||||
return -EACCES;
|
||||
|
||||
va_start(args, format);
|
||||
vsnprintf(buf, sizeof(buf)-1, format, args);
|
||||
va_end(args);
|
||||
if (type != NULL) {
|
||||
va_start(args, format);
|
||||
vsnprintf(buf, sizeof(buf)-1, format, args);
|
||||
va_end(args);
|
||||
value = buf;
|
||||
} else {
|
||||
spa_assert(format == NULL);
|
||||
value = NULL;
|
||||
}
|
||||
|
||||
pw_metadata_set_property(metadata->proxy,
|
||||
subject, key, type, buf);
|
||||
subject, key, type, value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue