Corriger les informations de position pour les flux continus

Cette modification corrige le calcul de la position et de la durée pour les flux continus (webradio) en ajustant la méthode `poll_and_emit_changes()` dans `pmocontrol`. Elle détecte maintenant les flux via `is_playing_a_stream()`, extrait la durée depuis les métadonnées DIDL, et calcule la position relative basée sur `track_start_time`. Les valeurs par défaut (zéro pour la position, none pour la durée) sont utilisées si aucune durée n'est disponible. Les fichiers modifiés incluent `musicrenderer.rs`, `CurrentTrack.vue` et `useRenderers.ts` pour assurer une gestion cohérente des données de position et de durée.
This commit is contained in:
2026-01-31 13:11:55 +01:00
parent d98bc357b9
commit 5440e72afb
6 changed files with 143 additions and 30 deletions

View File

@@ -83,7 +83,9 @@ const progressPercent = computed(() => {
const position = state.value?.position_ms;
const duration = state.value?.duration_ms;
if (position && duration && duration > 0) {
return (position / duration) * 100;
// Plafonner à 100% pour éviter que le curseur dépasse en cas de délai de mise à jour
const percent = (position / duration) * 100;
return Math.min(percent, 100);
}
return 0;
});