Skip to content

Qualité de lecture : le profil « Automatique » (une qualité par réseau) #58

Open

Description

@InstaZDLL

Le problème

La PR #51 a posé le choix de la qualité de lecture : trois profils, original par
défaut. Le quatrième — Automatique — reste à faire : adapter la qualité au
réseau, pour ne pas tirer un FLAC en données mobiles.

Ce qui est déjà décidé (11/09)

Deux profils, affichés Wi-Fi et Données mobiles.

Mais choisis en interne sur le caractère facturé ou non du réseau
(NET_CAPABILITY_NOT_METERED), pas sur un test Wi-Fi contre cellulaire :

  • l'Ethernet ou un dock USB suivent alors le Wi-Fi, ce qui est le comportement
    attendu ;
  • un Wi-Fi que l'utilisateur a déclaré payant — partage de connexion, forfait
    limité — suit les données mobiles, ce qui est également le comportement
    attendu.

Les mots de l'écran restent Wi-Fi et Données mobiles parce que ce sont ceux
que l'utilisateur comprend ; la notion de réseau facturé n'a pas à remonter dans
l'interface.

Pas de profil « itinérance » pour l'instant.

La question à trancher en l'implémentant

La #51 fixe la qualité d'une file à son lancement. Une file lancée en Wi-Fi
resterait donc en qualité d'origine après le passage en données mobiles — ce qui
vide le profil de son sens.

Proposition à valider : au changement de réseau, réécrire le marqueur des
pistes pas encore commencées, jamais la piste courante.

Deux raisons :

  • changer le rendu de la piste en cours de lecture voudrait dire la relancer,
    donc une coupure audible pour un bénéfice nul — elle est déjà téléchargée pour
    l'essentiel ;
  • chaque piste garde ainsi un marqueur et une clé de cache issus de son
    propre
    rendu. C'est exactement ce qui évite la course « vérifier puis
    agir » que la feat(lecture): choisir la qualité des pistes du serveur #51 avait écartée par construction : la clé ne peut pas décrire
    un rendu différent de celui que l'URL demande.

À éprouver

  • Un changement de réseau pendant la lecture ne doit pas interrompre le son.
  • La piste suivante doit partir dans le rendu du nouveau réseau.
  • Un réseau facturé doit être reconnu comme tel même s'il est en Wi-Fi.

Activity

  1. added
    plannedPlanned for a future release
    scope: playbackAudio playback engine and queue
    scope: uiViews, components, theming, assets
    on Sep 16, 2026
  2. self-assigned this
    on Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

plannedPlanned for a future releasescope: playbackAudio playback engine and queuescope: uiViews, components, theming, assetstype: featNew feature

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions