Skip to content

Commit 6cff699

Browse files
Use get_stream helper in builtin player (#2618)
1 parent 1af5293 commit 6cff699

File tree

1 file changed

+5
-17
lines changed
  • music_assistant/providers/builtin_player

1 file changed

+5
-17
lines changed

music_assistant/providers/builtin_player/player.py

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,6 @@ async def _serve_audio_stream(self, request: web.Request) -> web.StreamResponse:
227227
"""Serve the flow stream audio to a player."""
228228
player_id = request.path.rsplit(".")[0].rsplit("/")[-1]
229229
format_str = request.path.rsplit(".")[-1]
230-
# bitrate = request.query.get("bitrate")
231-
queue = self.mass.player_queues.get(player_id)
232230
self.logger.debug("Serving audio stream to %s", player_id)
233231

234232
if not (player := self.mass.players.get(player_id)):
@@ -256,16 +254,8 @@ async def _serve_audio_stream(self, request: web.Request) -> web.StreamResponse:
256254
# on iOS devices with Home Assistant OS installations.
257255

258256
media = player._current_media
259-
if queue is None or media is None:
260-
raise web.HTTPNotFound(reason="No active queue or media found!")
261-
262-
if media.source_id is None:
263-
raise web.HTTPError # TODO: better error
264-
265-
queue_item = self.mass.player_queues.get_item(media.source_id, media.queue_item_id)
266-
267-
if queue_item is None:
268-
raise web.HTTPError # TODO: better error
257+
if media is None:
258+
raise web.HTTPNotFound(reason="No active media found!")
269259

270260
# TODO: set encoding quality using a bitrate parameter,
271261
# maybe even dynamic with auto/semiauto switching with bad network?
@@ -280,12 +270,10 @@ async def _serve_audio_stream(self, request: web.Request) -> web.StreamResponse:
280270
bit_depth=INTERNAL_PCM_FORMAT.bit_depth,
281271
channels=INTERNAL_PCM_FORMAT.channels,
282272
)
273+
283274
async for chunk in get_ffmpeg_stream(
284-
audio_input=self.mass.streams.get_queue_flow_stream(
285-
queue=queue,
286-
start_queue_item=queue_item,
287-
pcm_format=pcm_format,
288-
),
275+
# Use get_stream helper which handles all media types including UGP streams
276+
audio_input=self.mass.streams.get_stream(media, pcm_format),
289277
input_format=pcm_format,
290278
output_format=stream_format,
291279
# Apple ignores "Accept-Ranges=none" on iOS and iPadOS for some reason,

0 commit comments

Comments
 (0)