feat: persist stream quality in local storage

This commit is contained in:
Luis Pereira 2025-11-02 22:44:33 +00:00 committed by Brian O'Reilly
parent 559893ed64
commit aa9a2cf225
3 changed files with 25 additions and 0 deletions

View File

@ -30,6 +30,9 @@ function changeStreamQuality() {
const streamBaseUrl = document.getElementById('stream-base-url');
const config = getStreamConfig(streamBaseUrl.value, selector.value);
// Save preference
localStorage.setItem('stream-quality', selector.value);
// Update UI elements
document.getElementById('stream-url').textContent = config.url;
document.getElementById('stream-format').textContent = config.format;
@ -79,6 +82,11 @@ window.addEventListener('DOMContentLoaded', function() {
// Set initial quality display to match the selected stream
const selector = document.getElementById('stream-quality');
const streamBaseUrl = document.getElementById('stream-base-url');
const streamQuality = localStorage.getItem('stream-quality') || 'aac';
if (selector && selector.value !== streamQuality) {
selector.value = streamQuality;
selector.dispatchEvent(new Event('change'));
}
if (streamBaseUrl && selector) {
const config = getStreamConfig(streamBaseUrl.value, selector.value);
document.getElementById('stream-url').textContent = config.url;

View File

@ -27,6 +27,13 @@ document.addEventListener('DOMContentLoaded', function() {
// Reduce buffer to minimize delay
liveAudio.preload = 'none';
}
// Restore user quality preference
const selector = document.getElementById('live-stream-quality');
const streamQuality = localStorage.getItem('stream-quality') || 'aac';
if (selector && selector.value !== streamQuality) {
selector.value = streamQuality;
selector.dispatchEvent(new Event('change'));
}
});
function redirectWhenFrame () {

View File

@ -104,6 +104,13 @@
audioElement.addEventListener('error', function(e) {
console.error('Audio error:', e);
});
const selector = document.getElementById('stream-quality');
const streamQuality = localStorage.getItem('stream-quality') || 'aac';
if (selector && selector.value !== streamQuality) {
selector.value = streamQuality;
selector.dispatchEvent(new Event('change'));
}
});
// Stream quality configuration
@ -130,6 +137,9 @@
const selector = document.getElementById('stream-quality');
const streamBaseUrl = document.getElementById('stream-base-url').value;
const config = getStreamConfig(streamBaseUrl, selector.value);
// Save preference
localStorage.setItem('stream-quality', selector.value);
const audioElement = document.getElementById('persistent-audio');
const sourceElement = document.getElementById('audio-source');