diff --git a/changelog/next.md b/changelog/next.md index 9d8dd04..8a48ba5 100644 --- a/changelog/next.md +++ b/changelog/next.md @@ -26,6 +26,7 @@ set shell id. ## Bug Fixes - Fixed volume control breaking with pipewire pro audio mode. +- Fixed volume control breaking with bluez streams and potentially others. - Fixed escape sequence handling in desktop entries. - Fixed volumes not initializing if a pipewire device was already loaded before its node. - Fixed hyprland active toplevel not resetting after window closes. diff --git a/src/services/pipewire/node.cpp b/src/services/pipewire/node.cpp index d454a46..c34fa17 100644 --- a/src/services/pipewire/node.cpp +++ b/src/services/pipewire/node.cpp @@ -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."; } } diff --git a/src/services/pipewire/node.hpp b/src/services/pipewire/node.hpp index e3e1913..45e1551 100644 --- a/src/services/pipewire/node.hpp +++ b/src/services/pipewire/node.hpp @@ -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();