From ba7d3977045fc50af4b357fb09f85ab3a6464e69 Mon Sep 17 00:00:00 2001 From: eyager1 <44526531+eyager1@users.noreply.github.com> Date: Sat, 14 May 2022 11:14:35 -0400 Subject: [PATCH] Improve reliability of VLC metadata parsing (#71856) * Improve reliability of metadata parsing. * Remove media_album_name property * Apply suggestions from code review Co-authored-by: Martin Hjelmare Co-authored-by: Martin Hjelmare --- homeassistant/components/vlc_telnet/media_player.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/vlc_telnet/media_player.py b/homeassistant/components/vlc_telnet/media_player.py index 7a0a796f665..89fa1a3c323 100644 --- a/homeassistant/components/vlc_telnet/media_player.py +++ b/homeassistant/components/vlc_telnet/media_player.py @@ -162,8 +162,16 @@ class VlcDevice(MediaPlayerEntity): data = info.data LOGGER.debug("Info data: %s", data) - self._media_artist = data.get(0, {}).get("artist") - self._media_title = data.get(0, {}).get("title") + self._attr_media_album_name = data.get("data", {}).get("album") + self._media_artist = data.get("data", {}).get("artist") + self._media_title = data.get("data", {}).get("title") + now_playing = data.get("data", {}).get("now_playing") + + # Many radio streams put artist/title/album in now_playing and title is the station name. + if now_playing: + if not self._media_artist: + self._media_artist = self._media_title + self._media_title = now_playing if self._media_title: return