diff --git a/lib/models/playback/playback_model.dart b/lib/models/playback/playback_model.dart index efc4fd8..e5451e0 100644 --- a/lib/models/playback/playback_model.dart +++ b/lib/models/playback/playback_model.dart @@ -3,6 +3,7 @@ import 'dart:developer'; import 'package:chopper/chopper.dart'; import 'package:collection/collection.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:path/path.dart'; import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart'; import 'package:fladder/models/item_base_model.dart'; @@ -224,6 +225,7 @@ class PlaybackModelHelper { } final params = Uri(queryParameters: directOptions).query; + final playbackUrl = joinAll([ref.read(userProvider)!.server, "Videos", mediaSource.id!, "stream?$params"]); return DirectPlaybackModel( item: fullItem.body ?? item, @@ -233,7 +235,7 @@ class PlaybackModelHelper { playbackInfo: playbackInfo, trickPlay: trickPlay, media: Media( - url: mediaPath ?? '${ref.read(userProvider)?.server ?? ""}/Videos/${mediaSource.id}/stream?$params', + url: mediaPath ?? playbackUrl, ), mediaStreams: mediaStreamsWithUrls, ); diff --git a/lib/screens/photo_viewer/simple_video_player.dart b/lib/screens/photo_viewer/simple_video_player.dart index 5e1edae..f1d217c 100644 --- a/lib/screens/photo_viewer/simple_video_player.dart +++ b/lib/screens/photo_viewer/simple_video_player.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:ficonsax/ficonsax.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:path/path.dart'; import 'package:wakelock_plus/wakelock_plus.dart'; import 'package:window_manager/window_manager.dart'; @@ -92,7 +93,7 @@ class _SimpleVideoPlayerState extends ConsumerState with Wind player.init(ref.read(videoPlayerSettingsProvider)); - videoUrl = '${ref.read(userProvider)?.server ?? ""}/Videos/${widget.video.id}/stream?$params'; + videoUrl = joinAll([ref.read(userProvider)?.server ?? "", "Videos", widget.video.id, "stream?$params"]); subscriptions.add(player.stateStream.listen((event) { setState(() {