# Étape 17.21 - Qualités 1440p / 4K strictes sous Windows Le log explique exactement pourquoi le bouton 4K restait en 1080p. Lors du clic 4K : ```text [HD] changement qualité -> 2160p (4K) [HD-WINDOWS][17.14] extraction web_embedded cible=2160 [HD-WINDOWS][17.14] paire embedded: 1920x1080 ... video=303/vp9 ``` Puis la lecture était confirmée en : ```text 1920x1080 ``` Même chose pour 1440p : l'extracteur renvoyait encore 1920x1080. Cela signifie que, pour cette vidéo/session web_embedded, la liste yt-dlp utilisée par l'application ne contient pas 1440p/2160p. L'ancien code acceptait silencieusement la meilleure qualité inférieure, donc 1080p. ## Correction 17.21 Sur Windows, pour 1440p et 2160p : 1. l'application vérifie d'abord les formats web_embedded sans interrompre la vidéo en cours ; 2. si la résolution demandée existe, le passage de qualité continue ; 3. si elle n'existe pas, le Player actuel reste intact ; 4. une notification explique la résolution maximale disponible ; 5. la qualité absente est ensuite désactivée dans le menu pour cette vidéo. Exemple : ```text 2160p (4K) n'est pas disponible pour cette vidéo. Cette vidéo est disponible ici jusqu'à 1080p. ``` Et dans le menu : ```text 1440p • indisponible 2160p (4K) • indisponible ``` ## Important Ce correctif ne bloque PAS la vraie 4K. Si web_embedded expose réellement 2160p pour une vidéo, `_selectVideo` sélectionne toujours la résolution la plus haute <= cible. Le chemin progressif 17.19 continuera alors avec le flux 2160p réel. Le service journalise maintenant aussi la liste réelle : ```text [HD-WINDOWS][17.21] cible 2160p absente pour web_embedded; disponibles=[360, 480, 720, 1080] ``` ## Test Extraire le ZIP à la racine puis : ```powershell cd "D:\07-Logiciels\23-youtube_personal" flutter run -d windows ``` Pas besoin de `flutter clean`. Tester d'abord la même vidéo. Le clic 4K ne doit plus faire : 1080p -> 360p -> 1080p. Ensuite tester une vidéo dont la source est réellement disponible en 4K. Si yt-dlp expose 2160p, les logs doivent montrer : ```text paire embedded: 3840x2160 ... flux progressif: 3840x2160 ... HD progressive confirmée: 3840x2160 ... ```