Actuellement, lorsque vous utilisez des extensions de source multimédia (MSE) dans Chrome, il n'est pas possible de basculer entre les flux chiffrés et clairs. Ce n'est pas interdit par la spécification MSE. Cette limitation est plutôt liée à la façon dont le pipeline multimédia est configuré pour prendre en charge les extensions multimédias chiffrées (EME).
MSE exige que les flux multimédias commencent par un segment d'initialisation qui inclut des informations telles que les données d'initialisation du codec et les informations de chiffrement. En règle générale, le segment d'initialisation se trouve au début d'un fichier multimédia. Par conséquent, lorsque des éléments multimédias sont associés à un élément multimédia via un téléchargement ou un MSE, ils "fonctionnent tout simplement".
Le problème survient lorsque vous essayez de modifier les caractéristiques multimédias en cours de diffusion. La modification des caractéristiques multimédias nécessite de transmettre un nouveau segment d'initialisation. Pour la plupart des caractéristiques, cette méthode fonctionne. La lecture continue. Les paramètres de chiffrement constituent une exception. Les paramètres de chiffrement du premier segment d'initialisation ne signalent que si les segments de flux peuvent être chiffrés, ce qui signifie que des segments multimédias clairs peuvent être insérés dans le flux. Par conséquent, un flux non chiffré comportant même un seul segment chiffré nécessite que des informations de chiffrement soient incluses dans le segment d'initialisation. Par conséquent, l'insertion d'annonces nécessite des solutions de contournement qui ne s'appliquent pas aux autres plates-formes.
À partir de Chrome 58, tout cela change. Vous pouvez désormais passer du chiffrement au non-chiffrement dans le même flux. Cela améliore la compatibilité en reproduisant le comportement existant dans Firefox et Edge.
Cette méthode comporte quelques mises en garde. Tout d'abord, si vous prévoyez des segments chiffrés dans vos flux multimédias, vous devez définir les MediaKeys à l'avance. Comme auparavant, vous ne pouvez pas mélanger HTTP et HTTPS dans la même source.