diff --git a/data/changelog.xml b/data/changelog.xml index d5d910b..460df6c 100644 --- a/data/changelog.xml +++ b/data/changelog.xml @@ -2,6 +2,14 @@ + + 2.1.2 + + Implementazione del sistema di qualità adattiva (ABR) per il player audio + Correzione e bugfix di problematiche varie. + + + 2.1.1 diff --git a/js/app.js b/js/app.js index 715ce3b..45a9966 100644 --- a/js/app.js +++ b/js/app.js @@ -361,15 +361,22 @@ document.addEventListener('DOMContentLoaded', function () { hlsInstance = new Hls({ debug: false, enableWorker: true, - lowLatencyMode: true, + lowLatencyMode: false, // Disabilitato LL per migliorare stabilità ABR su flussi standard backBufferLength: 90 }); hlsInstance.loadSource(streamHLS); hlsInstance.attachMedia(audioPlayer); - hlsInstance.on(Hls.Events.MANIFEST_PARSED, function () { + hlsInstance.on(Hls.Events.MANIFEST_PARSED, function (event, data) { console.log('Manifest HLS caricato'); + console.log('Livelli trovati:', data.levels.length, data.levels); + if (data.levels.length > 1) { + console.log('Multi-bitrate disponibile. Auto-switch abilitato.'); + } else { + console.warn('ATTENZIONE: Trovato solo 1 livello di qualità. ABR non possibile.'); + } + audioPlayer.play().then(() => { console.log('Riproduzione HLS avviata'); updatePlayState(true); @@ -379,6 +386,10 @@ document.addEventListener('DOMContentLoaded', function () { }); }); + hlsInstance.on(Hls.Events.LEVEL_SWITCHED, function (event, data) { + console.log('HLS Quality: Switched to level', data.level); + }); + hlsInstance.on(Hls.Events.ERROR, function (event, data) { console.error('Errore HLS:', data.type, data.details); if (data.fatal) {