From e240676a48e8ec13cdb7839b1198654ba03bc679 Mon Sep 17 00:00:00 2001 From: Aylur Date: Tue, 17 Sep 2024 15:37:00 +0000 Subject: fix(mpris): length getter the spec says length is supposed to be an int64 but spotify is returning a uint64 --- lib/mpris/player.vala | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'lib/mpris') diff --git a/lib/mpris/player.vala b/lib/mpris/player.vala index ed146f6..6764d2b 100644 --- a/lib/mpris/player.vala +++ b/lib/mpris/player.vala @@ -245,10 +245,16 @@ public class Player : Object { // metadata metadata = proxy.metadata; if (metadata != null) { - if (metadata.get("mpris:length") != null) - length = (double)metadata.get("mpris:length").get_uint64() / 1000000; - else + if (metadata.get("mpris:length") != null) { + var v = metadata.get("mpris:length"); + if (v.get_type_string() == "x") { + length = (double)v.get_int64() / 1000000; + } else if (v.get_type_string() == "t") { + length = (double)v.get_uint64() / 1000000; + } + } else { length = -1; + } trackid = get_str("mpris:trackid"); art_url = get_str("mpris:artUrl"); -- cgit v1.2.3