summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/mpris/player.vala12
1 files changed, 9 insertions, 3 deletions
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");