summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@spawned.biz>2025-10-29 20:47:45 +0100
committerJoel Klinghed <the_jk@spawned.biz>2025-10-29 21:09:51 +0100
commit08ba2379c33b15a99ad0406de0846d233d1264ae (patch)
treecac1340552c786cbdff06209cf5a930f670ed710
parent31812d3c0b5e61c00b82afd68e61dc4c52eabd00 (diff)
bt: Handle MediaPlayer.track being an arrayHEADmain
-rw-r--r--src/bt.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/bt.cc b/src/bt.cc
index 0f81590..cb47524 100644
--- a/src/bt.cc
+++ b/src/bt.cc
@@ -727,8 +727,18 @@ class MediaPlayerProxy : public BaseProxy, public Player {
case 1:
if (value.isEmpty()) {
track_ = MediaPlayerTrack{};
- } else {
+ } else if (value.containsValueOfType<MediaPlayerTrack>()) {
track_ = value.get<MediaPlayerTrack>();
+ } else if (value.containsValueOfType<std::vector<MediaPlayerTrack>>()) {
+ auto tracks = value.get<std::vector<MediaPlayerTrack>>();
+ if (tracks.empty()) {
+ track_ = MediaPlayerTrack{};
+ } else {
+ track_ = tracks.front();
+ }
+ } else {
+ manager_.logger().dbg(
+ std::format("Unexpected track type: {}", value.peekValueType()));
}
break;
case 2: