mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -04:00
bluez5: clean up node volume emitting
The problem described in previous 'volume_changed()' has been fixed
in 5bf2144438, hence we don't need
that workaround anymore.
This commit is contained in:
parent
d2d0375c39
commit
27433c4000
1 changed files with 5 additions and 8 deletions
|
|
@ -313,14 +313,11 @@ static void volume_changed(void *userdata)
|
||||||
|
|
||||||
node_update_soft_volumes(node, t_volume->volume);
|
node_update_soft_volumes(node, t_volume->volume);
|
||||||
|
|
||||||
|
emit_volume(impl, node);
|
||||||
|
|
||||||
impl->info.change_mask |= SPA_DEVICE_CHANGE_MASK_PARAMS;
|
impl->info.change_mask |= SPA_DEVICE_CHANGE_MASK_PARAMS;
|
||||||
impl->params[IDX_Route].flags ^= SPA_PARAM_INFO_SERIAL;
|
impl->params[IDX_Route].flags ^= SPA_PARAM_INFO_SERIAL;
|
||||||
emit_info(impl, false);
|
emit_info(impl, false);
|
||||||
|
|
||||||
/* It sometimes flips volume to over 100% in pavucontrol slider
|
|
||||||
* if volume is emitted before route info emitting while node
|
|
||||||
* volumes are not identical to route volumes. Not sure why. */
|
|
||||||
emit_volume(impl, node);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct spa_bt_transport_events transport_events = {
|
static const struct spa_bt_transport_events transport_events = {
|
||||||
|
|
@ -1535,7 +1532,7 @@ static int node_set_volume(struct impl *this, struct node *node, float volumes[]
|
||||||
if (n_volumes == 0)
|
if (n_volumes == 0)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
spa_log_debug(this->log, "node %p volume %f", node, volumes[0]);
|
spa_log_info(this->log, "node %p volume %f", node, volumes[0]);
|
||||||
|
|
||||||
for (i = 0; i < node->n_channels; i++) {
|
for (i = 0; i < node->n_channels; i++) {
|
||||||
if (node->volumes[i] == volumes[i % n_volumes])
|
if (node->volumes[i] == volumes[i % n_volumes])
|
||||||
|
|
@ -1558,6 +1555,8 @@ static int node_set_volume(struct impl *this, struct node *node, float volumes[]
|
||||||
node->soft_volumes[i] = node->volumes[i];
|
node->soft_volumes[i] = node->volumes[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
emit_volume(this, node);
|
||||||
|
|
||||||
return changed;
|
return changed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1744,8 +1743,6 @@ static int impl_set_param(void *object,
|
||||||
this->params[IDX_Route].flags ^= SPA_PARAM_INFO_SERIAL;
|
this->params[IDX_Route].flags ^= SPA_PARAM_INFO_SERIAL;
|
||||||
}
|
}
|
||||||
emit_info(this, false);
|
emit_info(this, false);
|
||||||
/* See volume_changed(void *) */
|
|
||||||
emit_volume(this, node);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue