1.9 KiB
Étape 17.7 - Correction exacte des headers mpv Windows
L'autre analyse a mis le doigt sur un point important, et la vérification du code/documentation mpv/media_kit confirme deux choses :
Media(..., httpHeaders: ...)couvre bien le média principal.AudioTrack.uri(...)ne prend pas dehttpHeaders.
Il faut donc aussi appliquer les headers globalement à l'instance libmpv avant
open(), pour que la piste audio externe les hérite.
Bug dans notre étape 17.6
Notre code utilisait :
options/user-agent
options/http-header-fields
pour NativePlayer.setProperty.
C'était le mauvais niveau de propriété pour cette API runtime.
La 17.7 utilise maintenant directement :
user-agent
http-header-fields
Autre correction
La 17.6 n'envoyait globalement que quelques headers.
La 17.7 transmet maintenant TOUS les headers renvoyés par yt-dlp, sauf
User-Agent qui utilise la propriété mpv dédiée.
Les virgules à l'intérieur des valeurs sont échappées avant de construire la
string-list http-header-fields.
Lecture
L'ordre reste :
- yt-dlp extrait vidéo + audio + headers
- headers globaux mpv
Media(videoUrl, httpHeaders: headers)- démarrage et validation de la vidéo HD
- réapplication des headers globaux
AudioTrack.uri(audioUrl)- confirmation finale de la résolution
Test
Extraire à la racine puis :
cd "D:\07-Logiciels\23-youtube_personal"
flutter clean
flutter run -d windows
Pas besoin de relancer PREPARER_HD_WINDOWS.ps1.
Pas besoin de flutter pub get.
Logs attendus :
[HD-WINDOWS][17.7] extraction directe + headers globaux mpv ...
[HD-WINDOWS][17.7] headers globaux mpv appliqués: UA=true, champs=...
[HD-WINDOWS][17.7] propriétés mpv posées AVANT open()
[HD-WINDOWS] vidéo seule confirmée: 1920x1080
[HD-WINDOWS] lecture confirmée: 1920x1080