mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
impl: always copy the id in param_info
Or else we will not have the right id when the flags are 0
This commit is contained in:
parent
f8c96167f9
commit
b812dbcbf6
3 changed files with 9 additions and 6 deletions
|
|
@ -733,19 +733,20 @@ static void device_info(void *data, const struct spa_device_info *info)
|
|||
uint32_t id = info->params[i].id;
|
||||
|
||||
pw_log_debug(NAME" %p: param %d id:%d (%s) %08x:%08x", device, i,
|
||||
id, spa_debug_type_find_name(spa_type_param, id),
|
||||
device->info.params[i].flags, info->params[i].flags);
|
||||
id, spa_debug_type_find_name(spa_type_param, id),
|
||||
device->info.params[i].flags, info->params[i].flags);
|
||||
|
||||
if (device->info.params[i].flags == info->params[i].flags)
|
||||
device->info.params[i].id = device->params[i].id;
|
||||
if (device->info.params[i].flags == info->params[i].flags)
|
||||
continue;
|
||||
|
||||
pw_log_debug(NAME" %p: update param %d", device, id);
|
||||
pw_param_clear(&impl->pending_list, id);
|
||||
device->info.params[i] = info->params[i];
|
||||
device->info.params[i].user = 0;
|
||||
device->info.params[i] = info->params[i];
|
||||
device->info.params[i].user = 0;
|
||||
|
||||
if (info->params[i].flags & SPA_PARAM_INFO_READ)
|
||||
changed_ids[n_changed_ids++] = id;
|
||||
changed_ids[n_changed_ids++] = id;
|
||||
}
|
||||
}
|
||||
emit_info_changed(device);
|
||||
|
|
|
|||
|
|
@ -1276,6 +1276,7 @@ static void node_info(void *data, const struct spa_node_info *info)
|
|||
id, spa_debug_type_find_name(spa_type_param, id),
|
||||
node->info.params[i].flags, info->params[i].flags);
|
||||
|
||||
node->info.params[i].id = info->params[i].id;
|
||||
if (node->info.params[i].flags == info->params[i].flags)
|
||||
continue;
|
||||
|
||||
|
|
|
|||
|
|
@ -373,6 +373,7 @@ static void update_info(struct pw_impl_port *port, const struct spa_port_info *i
|
|||
id, spa_debug_type_find_name(spa_type_param, id),
|
||||
port->info.params[i].flags, info->params[i].flags);
|
||||
|
||||
port->info.params[i].id = info->params[i].id;
|
||||
if (port->info.params[i].flags == info->params[i].flags)
|
||||
continue;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue