From 9566e0b897b745a3723fa05884d255cd9b622cc6 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Thu, 5 Mar 2026 18:56:52 +0100 Subject: [PATCH] perf: parallelize show/season metadata fetches --- lib/screens/video_player_screen.dart | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/screens/video_player_screen.dart b/lib/screens/video_player_screen.dart index a76d1182..51f33abb 100644 --- a/lib/screens/video_player_screen.dart +++ b/lib/screens/video_player_screen.dart @@ -2238,12 +2238,13 @@ class VideoPlayerScreenState extends State with WidgetsBindin widget.metadata.audioLanguage == null) { try { final client = _getClientForMetadata(context); - final showMeta = widget.metadata.grandparentRatingKey != null - ? await client.getMetadataWithImages(widget.metadata.grandparentRatingKey!) - : null; - final seasonMeta = widget.metadata.parentRatingKey != null - ? await client.getMetadataWithImages(widget.metadata.parentRatingKey!) - : null; + final showFuture = widget.metadata.grandparentRatingKey != null + ? client.getMetadataWithImages(widget.metadata.grandparentRatingKey!) + : Future.value(null); + final seasonFuture = widget.metadata.parentRatingKey != null + ? client.getMetadataWithImages(widget.metadata.parentRatingKey!) + : Future.value(null); + final (showMeta, seasonMeta) = await (showFuture, seasonFuture).wait; // Season overrides show (Plex preference hierarchy) final inheritedAudio = seasonMeta?.audioLanguage ?? showMeta?.audioLanguage; final inheritedSubLang = seasonMeta?.subtitleLanguage ?? showMeta?.subtitleLanguage;