From 8c813f66f41df84377bd0da66ed9f51988b6431b Mon Sep 17 00:00:00 2001 From: music-assistant-machine <141749843+music-assistant-machine@users.noreply.github.com> Date: Thu, 27 Nov 2025 20:57:19 +0100 Subject: [PATCH] =?utf8?q?=E2=AC=86=EF=B8=8F=20Update=20music-assistant-mo?= =?utf8?q?dels=20to=201.1.73=20(#2697)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * ⬆️ Update music-assistant-models to 1.1.73 * handle streamdetails expiration --------- Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com> Co-authored-by: Marcel van der Veldt --- music_assistant/helpers/audio.py | 7 ++----- pyproject.toml | 2 +- requirements_all.txt | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/music_assistant/helpers/audio.py b/music_assistant/helpers/audio.py index 11a91d7a..5e918b47 100644 --- a/music_assistant/helpers/audio.py +++ b/music_assistant/helpers/audio.py @@ -50,7 +50,6 @@ from music_assistant.helpers.throttle_retry import BYPASS_THROTTLER from music_assistant.helpers.util import clean_stream_title, remove_file from .audio_buffer import AudioBuffer -from .datetime import utc from .dsp import filter_to_ffmpeg_params from .ffmpeg import FFMpeg, get_ffmpeg_args, get_ffmpeg_stream from .playlists import IsHLSPlaylist, PlaylistItem, fetch_playlist, parse_m3u @@ -77,7 +76,6 @@ SLOW_PROVIDERS = ("tidal", "ytmusic", "apple_music") CACHE_CATEGORY_RESOLVED_RADIO_URL: Final[int] = 100 CACHE_PROVIDER: Final[str] = "audio" -STREAMDETAILS_EXPIRATION: Final[int] = 60 * 15 # 15 minutes def align_audio_to_frame_boundary(audio_data: bytes, pcm_format: AudioFormat) -> bytes: @@ -255,11 +253,10 @@ async def get_stream_details( ) buffer: AudioBuffer | None = None if queue_item.streamdetails and ( - (utc() - queue_item.streamdetails.created_at).seconds < STREAMDETAILS_EXPIRATION + (queue_item.streamdetails.created_at + queue_item.streamdetails.expiration) > time.time() or ((buffer := queue_item.streamdetails.buffer) and buffer.is_valid(seek_position)) ): - # already got a fresh/unused (or cached) streamdetails - # we assume that the streamdetails are valid for max STREAMDETAILS_EXPIRATION seconds + # already got a fresh/unused (or unexpired) streamdetails streamdetails = queue_item.streamdetails else: # retrieve streamdetails from provider diff --git a/pyproject.toml b/pyproject.toml index 51b2b3c2..9ce98aaa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ dependencies = [ "get-mac==0.9.2", "mashumaro==3.17", "music-assistant-frontend==2.17.12", - "music-assistant-models==1.1.72", + "music-assistant-models==1.1.73", "mutagen==1.47.0", "orjson==3.11.4", "pillow==11.3.0", diff --git a/requirements_all.txt b/requirements_all.txt index 1594b1f2..53c451de 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -38,7 +38,7 @@ librosa==0.11.0 lyricsgenius==3.7.2 mashumaro==3.17 music-assistant-frontend==2.17.12 -music-assistant-models==1.1.72 +music-assistant-models==1.1.73 mutagen==1.47.0 niconico.py-ma==2.1.0.post1 orjson==3.11.4 -- 2.34.1