From e69644a98e372ae4308702bae85ee21883ee23cc Mon Sep 17 00:00:00 2001 From: Doezer Date: Wed, 26 Nov 2025 22:25:20 +0100 Subject: [PATCH] fix: fix missing update in playback init & translate french comments --- lib/client/plex_client.dart | 23 ++++++++++--------- lib/screens/video_player_screen.dart | 6 ++--- .../playback_initialization_service.dart | 7 +++++- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/lib/client/plex_client.dart b/lib/client/plex_client.dart index 810c22f6..15568164 100644 --- a/lib/client/plex_client.dart +++ b/lib/client/plex_client.dart @@ -480,18 +480,19 @@ class PlexClient { queryParams['subtitleStreamID'] = subtitleStreamID; } if (allParts) { - // If no streams to select, return early - if (queryParams.isEmpty) { - return true; + // If no streams to select, return early + if (queryParams.isEmpty) { + return true; + } + + // Use PUT request on /library/parts/{partId} + final response = await _dio.put( + '/library/parts/$partId', + queryParameters: queryParams, + ); + + return response.statusCode == 200; } - - // Use PUT request on /library/parts/{partId} - final response = await _dio.put( - '/library/parts/$partId', - queryParameters: queryParams, - ); - - return response.statusCode == 200; } catch (e) { appLogger.e('Failed to select streams', error: e); return false; diff --git a/lib/screens/video_player_screen.dart b/lib/screens/video_player_screen.dart index 2e7fa072..9d567ec5 100644 --- a/lib/screens/video_player_screen.dart +++ b/lib/screens/video_player_screen.dart @@ -31,7 +31,7 @@ import '../i18n/strings.g.dart'; Map? _isoLangTable; -/// Charger la table en mémoire au démarrage du widget (dans initState par exemple) +/// Load the table into memory at widget startup (in initState for example) Future loadIsoTable() async { final data = await rootBundle.loadString('lib/data/iso_6369_codes.json'); _isoLangTable = json.decode(data) as Map; @@ -226,10 +226,10 @@ class VideoPlayerScreenState extends State } } - /// Convertit un code à 2 lettres "fr", "nl", "ca" en code Plex à 3 lettres, ou renvoie null si inconnu + /// Converts a 2-letter code like "fr", "nl", "ca" to a Plex 3-letter code, or returns null if unknown String? _iso6391ToPlex6392(String? code) { if (code == null || code.isEmpty || _isoLangTable == null) return null; - // Prend la base "fr" de "fr-FR" + // Takes the base "fr" from "fr-FR" final lang = code.split('-').first.toLowerCase(); final langEntry = _isoLangTable![lang] as Map?; return langEntry?['639-2'] as String?; diff --git a/lib/services/playback_initialization_service.dart b/lib/services/playback_initialization_service.dart index dc57abba..2973b61a 100644 --- a/lib/services/playback_initialization_service.dart +++ b/lib/services/playback_initialization_service.dart @@ -96,6 +96,7 @@ class PlaybackInitializationService { // Return result with available versions for UI updates return PlaybackInitializationResult( availableVersions: playbackData.availableVersions, + mediaInfo: mediaInfo, ); } catch (e) { if (e is PlaybackException) { @@ -199,8 +200,12 @@ class PlaybackInitializationService { /// Result of playback initialization class PlaybackInitializationResult { final List availableVersions; + final PlexMediaInfo? mediaInfo; - PlaybackInitializationResult({required this.availableVersions}); + PlaybackInitializationResult({ + required this.availableVersions, + this.mediaInfo, + }); } /// Exception thrown when playback initialization fails