From: Marcel van der Veldt Date: Thu, 28 Jul 2022 19:52:41 +0000 (+0200) Subject: small fix X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=bc85ecd715cf2bb145e3eca7b3dbca325d318b75;p=music-assistant-server.git small fix --- diff --git a/music_assistant/controllers/streams.py b/music_assistant/controllers/streams.py index cfaf7200..a12765b0 100644 --- a/music_assistant/controllers/streams.py +++ b/music_assistant/controllers/streams.py @@ -171,38 +171,32 @@ class StreamsController: # try to recover from the situation where the player itself requests # a stream that is already done - if queue_stream is None: + if queue_stream is None or queue_stream.done.is_set(): self.logger.warning( - "Got stream request for unknown or finished id: %s, trying resume", + "Got stream request for unknown or finished stream: %s", stream_id, ) if player := self.mass.players.get_player(client_id): self.mass.create_task(player.active_queue.resume()) return web.FileResponse(SILENCE_FILE) return web.Response(status=404) - if queue_stream.done.is_set(): - self.logger.warning( - "Got stream request for finished stream: %s, assuming resume", stream_id - ) - self.mass.create_task(queue_stream.queue.resume()) - return web.FileResponse(SILENCE_FILE) # handle a second connection for the same player # this means either that the player itself want to skip to the next track # or a misbehaving client which reconnects multiple times (e.g. Kodi) - if queue_stream.all_clients_connected.is_set(): - self.logger.warning( - "Got stream request for running stream: %s, assuming next", stream_id - ) - self.mass.create_task(queue_stream.queue.next()) - return web.FileResponse(SILENCE_FILE) - if client_id in queue_stream.connected_clients: self.logger.warning( - "Simultanuous connections detected from %s, playback may be disturbed", + "Simultanuous connections detected from %s, playback may be disturbed!", client_id, ) client_id += uuid4().hex + elif queue_stream.all_clients_connected.is_set(): + self.logger.info( + "Got stream request for running stream: %s, assuming next", stream_id + ) + if not queue_stream.signal_next and queue_stream.queue.items: + self.mass.create_task(queue_stream.queue.next()) + return web.FileResponse(SILENCE_FILE) # prepare request, add some DLNA/UPNP compatible headers headers = { diff --git a/music_assistant/mass.py b/music_assistant/mass.py index f5ce954b..901237d7 100644 --- a/music_assistant/mass.py +++ b/music_assistant/mass.py @@ -103,9 +103,11 @@ class MusicAssistant: if self.closed: return if self.logger.isEnabledFor(logging.DEBUG): - self.logger.getChild("event").debug( - "%s %s", event.type.value, event.object_id or "" - ) + # do not log queue time updated events because that is too chatty + if event.type != EventType.QUEUE_TIME_UPDATED: + self.logger.getChild("event").debug( + "%s %s", event.type.value, event.object_id or "" + ) for cb_func, event_filter, id_filter in self._listeners: if not (event_filter is None or event.type in event_filter): continue @@ -209,7 +211,6 @@ class MusicAssistant: # create task from coroutine and attach task_done callback next_job.timestamp = time() next_job.status = JobStatus.RUNNING - self.logger.debug("Start processing job [%s].", next_job.name) task = self.create_task(next_job.coro) task.set_name(next_job.name) task.add_done_callback(partial(self.__job_done_cb, job=next_job)) @@ -225,7 +226,6 @@ class MusicAssistant: job.timestamp = execution_time if task.cancelled(): job.status = JobStatus.CANCELLED - self.logger.debug("Job [%s] is cancelled.", job.name) elif err := task.exception(): job.status = JobStatus.ERROR self.logger.error(