Fiabiliser la lecture et la synchronisation des playlists dans MetroList

Écrit par Alessio le 30/07/2026

Problème

La synchronisation pouvait dupliquer des playlists et contribuer à des problèmes de mémoire. Le crossfade devait aussi tenir compte de la vitesse de lecture, tandis que certains podcasts échouaient avec IO_UNSPECIFIED à cause de la validation des URL.

Changements

J’ai déplacé le nettoyage des playlists avant la boucle de synchronisation afin d’éviter les traitements en double. Pour le crossfade, j’ai ajusté le déclenchement à la vitesse de lecture, conservé cette vitesse sur le lecteur secondaire et utilisé un PlayerMessage d’ExoPlayer pour un timing précis sur le main looper. Pour les podcasts, j’ai cessé d’ignorer la validation HEAD des flux WEB_REMIX et fermé correctement la réponse OkHttp.

Résultat

La synchronisation des playlists est moins sujette aux erreurs, les transitions suivent la vitesse de lecture et la validation prend correctement en charge la source podcast concernée.

Commits: playlist sync, crossfade timing, podcast playback