From: Marcel van der Veldt Date: Thu, 4 Aug 2022 00:12:14 +0000 (+0200) Subject: add warning on chunk number mismatch X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=19b9ab2245fb6acb6d601b743bc116545eb449c4;p=music-assistant-server.git add warning on chunk number mismatch --- diff --git a/music_assistant/controllers/streams.py b/music_assistant/controllers/streams.py index f32e04ef..a0c2bce7 100644 --- a/music_assistant/controllers/streams.py +++ b/music_assistant/controllers/streams.py @@ -665,15 +665,6 @@ class QueueStream: ): chunk_num += 1 - - # handle last/empty chunk - if not chunk: - if bytes_written == 0: - # stream error: got empy first chunk ?! - self.logger.warning("Stream error on %s", queue_track.uri) - queue_track.streamdetails.seconds_streamed = 0 - break - seconds_in_buffer = len(buffer) / self.sample_size_per_second #### HANDLE FIRST PART OF TRACK @@ -723,11 +714,24 @@ class QueueStream: #### HANDLE END OF TRACK + if bytes_written == 0: + # stream error: got empy first chunk ?! + self.logger.warning("Stream error on %s", queue_track.uri) + queue_track.streamdetails.seconds_streamed = 0 + continue + # try to make a rough assumption of how many seconds is buffered ahead by the player(s) player_buffered = ( self.total_seconds_streamed - self.queue.player.elapsed_time or 0 ) seconds_in_buffer = len(buffer) / self.sample_size_per_second + # log warning if received seconds are a lot less than expected + if (stream_duration - chunk_num) > 20: + self.logger.warning( + "Unexpected number of chunks received for track: %s/%s", + chunk_num, + stream_duration, + ) self.logger.debug( "end of track reached - chunk_num: %s - crossfade_buffer: %s - stream_duration: %s - player_buffer: %s", chunk_num,