mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
metadata: improve default sink/source
Only check defaults when subject is PW_ID_CORE Handle NULL keys: remove the defaults
This commit is contained in:
parent
759e1ccb6b
commit
0c04481ba7
6 changed files with 53 additions and 57 deletions
|
|
@ -1013,14 +1013,16 @@ static int metadata_property(void *object,
|
|||
uint32_t val;
|
||||
bool changed = false;
|
||||
|
||||
if (key && strcmp(key, METADATA_DEFAULT_SINK) == 0) {
|
||||
val = value ? (uint32_t)atoi(value) : SPA_ID_INVALID;
|
||||
changed = c->default_sink != val;
|
||||
c->default_sink = val;
|
||||
} else if (key && strcmp(key, METADATA_DEFAULT_SOURCE) == 0) {
|
||||
val = value ? (uint32_t)atoi(value) : SPA_ID_INVALID;
|
||||
changed = c->default_source != val;
|
||||
c->default_source = val;
|
||||
if (subject == PW_ID_CORE) {
|
||||
val = (key && value) ? (uint32_t)atoi(value) : SPA_ID_INVALID;
|
||||
if (key == NULL || strcmp(key, METADATA_DEFAULT_SINK) == 0) {
|
||||
changed = c->default_sink != val;
|
||||
c->default_sink = val;
|
||||
}
|
||||
if (key == NULL || strcmp(key, METADATA_DEFAULT_SOURCE) == 0) {
|
||||
changed = c->default_source != val;
|
||||
c->default_source = val;
|
||||
}
|
||||
}
|
||||
if (changed)
|
||||
emit_event(global->context, global, PA_SUBSCRIPTION_EVENT_CHANGE);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue