From: Marcel van der Veldt Date: Wed, 28 Aug 2019 07:30:11 +0000 (+0200) Subject: more work on player disconnects X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=a9d5adcb251b2a3ecd34b50c96029bec57051441;p=music-assistant-server.git more work on player disconnects --- diff --git a/music_assistant/modules/player.py b/music_assistant/modules/player.py index 88955074..9f4e460c 100755 --- a/music_assistant/modules/player.py +++ b/music_assistant/modules/player.py @@ -43,7 +43,7 @@ class Player(): player = self._players[player_id] prov_id = player.player_provider prov = self.providers[prov_id] - LOGGER.info('received command %s for player %s' %(cmd, player.name)) + LOGGER.debug('received command %s for player %s' %(cmd, player.name)) # handle some common workarounds if (cmd in ['pause', 'play'] and cmd_args == 'toggle') or cmd == 'playpause': cmd = 'pause' if player.state == PlayerState.Playing else 'play' @@ -100,7 +100,7 @@ class Player(): service_data = { 'entity_id': player.settings['hass_power_entity'] } await self.mass.hass.call_service('media_player', 'turn_off', service_data) else: - LOGGER.warning('Ignoring power command as required source is not active') + LOGGER.debug('Ignoring power command as required source is not active') elif cmd == 'power' and player.settings.get('hass_power_entity'): domain = player.settings['hass_power_entity'].split('.')[0] service_data = { 'entity_id': player.settings['hass_power_entity']} diff --git a/music_assistant/modules/playerproviders/chromecast.py b/music_assistant/modules/playerproviders/chromecast.py index e2b9074c..cc33f639 100644 --- a/music_assistant/modules/playerproviders/chromecast.py +++ b/music_assistant/modules/playerproviders/chromecast.py @@ -130,10 +130,10 @@ class ChromecastProvider(PlayerProvider): if (not player_id in self._chromecasts or not self._chromecasts[player_id].socket_client or not self._chromecasts[player_id].socket_client.is_connected): - LOGGER.warning("command %s failed - %s is disconnected, rescan triggered" %(cmd, self._players[player_id].name)) + LOGGER.warning("play_media failed - %s is disconnected, rescan triggered" %(self._players[player_id].name)) self.mass.event_loop.create_task(self.__chromecast_discovery()) return - + castplayer = self._chromecasts[player_id] cur_queue_index = self._player_queue_index.get(player_id, 0) enable_crossfade = self.mass.config['player_settings'][player_id]["crossfade_duration"] > 0 @@ -412,6 +412,7 @@ class ChromecastProvider(PlayerProvider): if self._discovery_running: return self._discovery_running = True + LOGGER.info("Chromecast discovery started...") # remove any disconnected players... removed_players = [] for player_id, cast in self._chromecasts.items(): @@ -436,12 +437,11 @@ class ChromecastProvider(PlayerProvider): LOGGER.info("discovered chromecast: %s - %s:%s" % (friendly_name, ip_address, port)) asyncio.run_coroutine_threadsafe( self.__chromecast_discovered(player_id, discovery_info), self.mass.event_loop) - LOGGER.debug("Chromecast discovery started...") listener, browser = start_discovery(discovered_callback) await asyncio.sleep(15) # run discovery for 15 seconds stop_discovery(browser) - LOGGER.debug("Chromecast discovery completed...") - self._discovery_running = True + LOGGER.info("Chromecast discovery completed...") + self._discovery_running = False async def __chromecast_discovered(self, player_id, discovery_info): ''' callback when a (new) chromecast device is discovered '''