From 4978e8773e27fed170cec968aefd79a516e42afe Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Fri, 9 Jun 2023 01:47:48 +0200 Subject: [PATCH] Fix playback of local files on Sonos players (#702) * improve sonos discovery * fix crash on image url --- music_assistant/server/helpers/didl_lite.py | 2 +- music_assistant/server/providers/sonos/__init__.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/music_assistant/server/helpers/didl_lite.py b/music_assistant/server/helpers/didl_lite.py index c35c875a..744e39f6 100644 --- a/music_assistant/server/helpers/didl_lite.py +++ b/music_assistant/server/helpers/didl_lite.py @@ -71,7 +71,7 @@ def create_didl_metadata( f"{queue_item.duration}" "Music Assistant" f"{queue_item.queue_item_id}" - f"{image_url}" + f"{_escape_str(image_url)}" f"{item_class}" f"audio/{ext}" f'{url}' diff --git a/music_assistant/server/providers/sonos/__init__.py b/music_assistant/server/providers/sonos/__init__.py index ab4c0d99..ccd3e57c 100644 --- a/music_assistant/server/providers/sonos/__init__.py +++ b/music_assistant/server/providers/sonos/__init__.py @@ -395,7 +395,9 @@ class SonosPlayerProvider(PlayerProvider): try: self._discovery_running = True self.logger.debug("Sonos discovery started...") - discovered_devices: set[soco.SoCo] = await asyncio.to_thread(soco.discover, 60) + discovered_devices: set[soco.SoCo] = await asyncio.to_thread( + soco.discover, 120, allow_network_scan=True + ) if discovered_devices is None: discovered_devices = set() new_device_ids = {item.uid for item in discovered_devices} -- 2.34.1