diff --git a/src/js/html5.js b/src/js/html5.js
index fc8da8c0..0876211a 100644
--- a/src/js/html5.js
+++ b/src/js/html5.js
@@ -82,9 +82,6 @@ const html5 = {
triggerEvent.call(player, player.media, 'qualitychange', false, {
quality: input,
});
-
- // Save to storage
- player.storage.set({ quality: input });
},
});
},
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 77582dd7..e5760d58 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -692,10 +692,15 @@ class Plyr {
config.default,
].find(is.number);
+ let updateStorage = true;
+
if (!options.includes(quality)) {
const value = closest(options, quality);
this.debug.warn(`Unsupported quality option: ${quality}, using ${value} instead`);
quality = value;
+
+ // Don't update storage if quality is not supported
+ updateStorage = false;
}
// Update config
@@ -703,6 +708,11 @@ class Plyr {
// Set quality
this.media.quality = quality;
+
+ // Save to storage
+ if (updateStorage) {
+ this.storage.set({ quality: quality });
+ }
}
/**