From 470efb0058eb1f6c849cd4614070831a93b98ee3 Mon Sep 17 00:00:00 2001 From: Matt Lyons-Wood Date: Sat, 16 Mar 2024 12:09:47 +1100 Subject: [PATCH] Added seek_position to JellyfinProvider's get_audio_stream function (#1140) --- .../server/providers/jellyfin/__init__.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/music_assistant/server/providers/jellyfin/__init__.py b/music_assistant/server/providers/jellyfin/__init__.py index 0ae59f1f..d6997a18 100644 --- a/music_assistant/server/providers/jellyfin/__init__.py +++ b/music_assistant/server/providers/jellyfin/__init__.py @@ -12,7 +12,6 @@ from typing import TYPE_CHECKING, Any if TYPE_CHECKING: from collections.abc import AsyncGenerator, Callable, Coroutine -from aiohttp import ClientTimeout from jellyfin_apiclient_python import JellyfinClient from jellyfin_apiclient_python.api import API @@ -53,6 +52,7 @@ from music_assistant.common.models.media_items import Artist as JellyfinArtist from music_assistant.common.models.media_items import Playlist as JellyfinPlaylist from music_assistant.common.models.media_items import Track as JellyfinTrack from music_assistant.common.models.streamdetails import StreamDetails +from music_assistant.server.helpers.audio import get_http_stream if TYPE_CHECKING: from music_assistant.common.models.provider import ProviderManifest @@ -808,11 +808,11 @@ class JellyfinProvider(MusicProvider): return mime_type - async def get_audio_stream(self, streamdetails: StreamDetails) -> AsyncGenerator[bytes, None]: + async def get_audio_stream( + self, streamdetails: StreamDetails, seek_position: int = 0 + ) -> AsyncGenerator[bytes, None]: """Return the audio stream for the provider item.""" url = API.audio_url(self._jellyfin_server.jellyfin, streamdetails.item_id) - timeout = ClientTimeout(total=0, connect=30, sock_read=600) - async with self.mass.http_session.get(url, timeout=timeout) as resp: - async for chunk in resp.content.iter_any(): - yield chunk + async for chunk in get_http_stream(self.mass, url, streamdetails, seek_position): + yield chunk -- 2.34.1