diff options
| -rw-r--r-- | src/bt.cc | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -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: |
