diff --git a/lib/helpers.js b/lib/helpers.js index f83a072d..2b21d831 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -275,6 +275,9 @@ Helpers.dropIDNamespace = function (value) { Helpers.ParseDIDLItem = function (item, host, port, trackUri) { let albumArtURI = item['upnp:albumArtURI'] || null + if (albumArtURI && albumArtURI.constructor === Object) { + albumArtURI = albumArtURI['_'] + } if (albumArtURI && Array.isArray(albumArtURI)) { albumArtURI = albumArtURI.length > 0 ? albumArtURI[0] : null } diff --git a/lib/services/AVTransport.js b/lib/services/AVTransport.js index 09c5cd03..19594ae0 100644 --- a/lib/services/AVTransport.js +++ b/lib/services/AVTransport.js @@ -196,9 +196,13 @@ class AVTransport extends Service { const track = Helpers.ParseDIDL(metadata) track.position = position track.duration = duration - track.albumArtURL = !track.albumArtURI ? null - : track.albumArtURI.startsWith('http') ? track.albumArtURI - : 'http://' + this.host + ':' + this.port + track.albumArtURI + try { + track.albumArtURL = !track.albumArtURI ? null + : track.albumArtURI.startsWith('http') ? track.albumArtURI + : 'http://' + this.host + ':' + this.port + track.albumArtURI + } catch (err) { + console.log('Could not parse this albumArtURI into albumArtURL: ', track.albumArtURI) + } if (trackUri) track.uri = trackUri track.queuePosition = queuePosition return track