services/pipewire: use node volume controls when routeDevice missing
Some checks failed
Build / Nix (push) Has been cancelled
Build / Nix-1 (push) Has been cancelled
Build / Nix-2 (push) Has been cancelled
Build / Nix-3 (push) Has been cancelled
Build / Nix-4 (push) Has been cancelled
Build / Nix-5 (push) Has been cancelled
Build / Nix-6 (push) Has been cancelled
Build / Nix-7 (push) Has been cancelled
Build / Nix-8 (push) Has been cancelled
Build / Nix-9 (push) Has been cancelled
Build / Nix-10 (push) Has been cancelled
Build / Nix-11 (push) Has been cancelled
Build / Nix-12 (push) Has been cancelled
Build / Nix-13 (push) Has been cancelled
Build / Nix-14 (push) Has been cancelled
Build / Nix-15 (push) Has been cancelled
Build / Nix-16 (push) Has been cancelled
Build / Nix-17 (push) Has been cancelled
Build / Nix-18 (push) Has been cancelled
Build / Nix-19 (push) Has been cancelled
Build / Nix-20 (push) Has been cancelled
Build / Nix-21 (push) Has been cancelled
Build / Nix-22 (push) Has been cancelled
Build / Nix-23 (push) Has been cancelled
Build / Nix-24 (push) Has been cancelled
Build / Nix-25 (push) Has been cancelled
Build / Nix-26 (push) Has been cancelled
Build / Nix-27 (push) Has been cancelled
Build / Nix-28 (push) Has been cancelled
Build / Nix-29 (push) Has been cancelled
Build / Nix-30 (push) Has been cancelled
Build / Nix-31 (push) Has been cancelled
Build / Archlinux (push) Has been cancelled
Lint / Lint (push) Has been cancelled

For bluez audio streams and potentially other types of synthetic
device, volume controls are managed via the node and persistence is
handled by the service.
This commit is contained in:
outfoxxed 2025-12-25 20:58:05 -08:00
parent 3918290c1b
commit 41828c4180
No known key found for this signature in database
GPG key ID: 4C88A185FB89301E
3 changed files with 9 additions and 3 deletions

View file

@ -222,8 +222,11 @@ void PwNode::onInfo(void* data, const pw_node_info* info) {
self->routeDevice = id;
if (self->boundData) self->boundData->onDeviceChanged();
} else {
qCCritical(logNode) << self << "has attached device" << self->device
<< "but no card.profile.device property.";
qCDebug(
logNode
) << self
<< "has attached device" << self->device
<< "but no card.profile.device property. Node volume control will be used.";
}
}

View file

@ -244,7 +244,9 @@ public:
qint32 routeDevice = -1;
bool proAudio = false;
[[nodiscard]] bool shouldUseDevice() const { return this->device && !this->proAudio; }
[[nodiscard]] bool shouldUseDevice() const {
return this->device && !this->proAudio && this->routeDevice != -1;
}
signals:
void propertiesChanged();