From e10181bc1093dedd4f52d9b373ecc3a4b7e376f0 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Tue, 11 Feb 2025 22:45:55 +0100 Subject: [PATCH] Fix: accept last 60 seconds as finished for audiobooks/episodes --- music_assistant/controllers/player_queues.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/music_assistant/controllers/player_queues.py b/music_assistant/controllers/player_queues.py index 8c553f77..cc572a23 100644 --- a/music_assistant/controllers/player_queues.py +++ b/music_assistant/controllers/player_queues.py @@ -1838,7 +1838,16 @@ class PlayerQueuesController(CoreController): duration = item_to_report.streamdetails.duration else: duration = item_to_report.duration or 3600 - fully_played = seconds_played >= (duration or 3600) - 5 + + # determine if item is fully played + # for podcasts and audiobooks we account for the last 60 seconds + if item_to_report.queue_item_id == prev_item_id and item_to_report.media_type in ( + MediaType.AUDIOBOOK, + MediaType.PODCAST_EPISODE, + ): + fully_played = seconds_played >= (duration or 3 * 3600) - 60 + else: + fully_played = seconds_played >= (duration or 3600) - 10 self.logger.debug( "PlayerQueue %s playing/played item %s - fully_played: %s - progress: %s", -- 2.34.1