diff --git a/data/changelog.xml b/data/changelog.xml index 3b79d6f..54ebf02 100644 --- a/data/changelog.xml +++ b/data/changelog.xml @@ -3,7 +3,7 @@ - 2.1.3 + 2.1.3 (a) Implementato il nuovo player audio per la riproduzione dei flussi audio in HLS per il bitrate adattivo. Correzione e bugfix di problematiche varie. diff --git a/js/app.js b/js/app.js index 8c6831c..2b0894e 100644 --- a/js/app.js +++ b/js/app.js @@ -360,15 +360,31 @@ document.addEventListener('DOMContentLoaded', function () { hlsInstance.on(Hls.Events.MANIFEST_PARSED, function (event, data) { console.log(`HLS Manifest Loaded. Levels: ${data.levels.length}`); - // Se ci sono più livelli, prova a partire aggressivo se non specificato + // Log dettagliato di tutti i livelli disponibili per debug + data.levels.forEach((level, index) => { + console.log(`Level ${index}: ${level.bitrate} bps (${(level.bitrate / 1000).toFixed(0)} kbps)`); + }); + + // CRITICAL: Forza partenza dal livello massimo per garantire qualità alta if (data.levels.length > 1) { - // Opzionale: Logica custom startLevel se necessario - // hlsInstance.startLevel = data.levels.length - 1; + const maxLevel = data.levels.length - 1; + hlsInstance.startLevel = maxLevel; + console.log(`✓ Forced START level to MAX: ${maxLevel} (${(data.levels[maxLevel].bitrate / 1000).toFixed(0)} kbps)`); } attemptPlay(); }); + // Track quality switches per debug + hlsInstance.on(Hls.Events.LEVEL_SWITCHING, function (event, data) { + console.log(`→ Switching to level ${data.level}...`); + }); + + hlsInstance.on(Hls.Events.LEVEL_SWITCHED, function (event, data) { + const currentLevel = hlsInstance.levels[data.level]; + console.log(`✓ Switched to level ${data.level}: ${(currentLevel.bitrate / 1000).toFixed(0)} kbps`); + }); + hlsInstance.on(Hls.Events.ERROR, function (event, data) { if (data.fatal) { console.warn('HLS Fatal Error:', data.type);