From 1475f8f32b45c0d817cff3da88f055aec6bd997b Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Wed, 3 Apr 2024 20:45:30 -0700 Subject: [PATCH] audio: Don't recreate mpris proxies and streams Fixes https://github.com/pop-os/cosmic-applets/issues/306 and should overall be more correct and performant. --- Cargo.lock | 13 +- cosmic-applet-audio/src/lib.rs | 2 +- cosmic-applet-audio/src/mpris_subscription.rs | 325 +++++++++--------- 3 files changed, 168 insertions(+), 172 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fb3c5aee..de7e0e26 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1179,7 +1179,7 @@ dependencies = [ [[package]] name = "cosmic-dbus-networkmanager" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings#8b9767f6cedede2def12941ce89e14bfcd913aeb" +source = "git+https://github.com/pop-os/dbus-settings-bindings#c81f428acec4c8633efb62b4f8284202dad9a492" dependencies = [ "bitflags 2.5.0", "derive_builder", @@ -3534,8 +3534,9 @@ dependencies = [ [[package]] name = "mpris2-zbus" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings#8b9767f6cedede2def12941ce89e14bfcd913aeb" +source = "git+https://github.com/pop-os/dbus-settings-bindings#c81f428acec4c8633efb62b4f8284202dad9a492" dependencies = [ + "futures-util", "serde", "thiserror", "time", @@ -4943,7 +4944,7 @@ dependencies = [ [[package]] name = "switcheroo-control" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings#8b9767f6cedede2def12941ce89e14bfcd913aeb" +source = "git+https://github.com/pop-os/dbus-settings-bindings#c81f428acec4c8633efb62b4f8284202dad9a492" dependencies = [ "zbus", ] @@ -5842,7 +5843,7 @@ dependencies = [ "js-sys", "log", "naga", - "parking_lot 0.12.1", + "parking_lot 0.11.2", "profiling", "raw-window-handle 0.6.0", "smallvec", @@ -5869,7 +5870,7 @@ dependencies = [ "log", "naga", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.11.2", "profiling", "raw-window-handle 0.6.0", "rustc-hash", @@ -5909,7 +5910,7 @@ dependencies = [ "naga", "objc", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.11.2", "profiling", "range-alloc", "raw-window-handle 0.6.0", diff --git a/cosmic-applet-audio/src/lib.rs b/cosmic-applet-audio/src/lib.rs index a1302a00..c8b0a1c4 100644 --- a/cosmic-applet-audio/src/lib.rs +++ b/cosmic-applet-audio/src/lib.rs @@ -50,7 +50,7 @@ const PLAY: &str = "media-playback-start-symbolic"; pub fn run() -> cosmic::iced::Result { localize(); - cosmic::applet::run::