diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js
index 6f78cb80c1..ad0682935d 100644
--- a/src/plugins/htmlVideoPlayer/plugin.js
+++ b/src/plugins/htmlVideoPlayer/plugin.js
@@ -521,7 +521,7 @@ export class HtmlVideoPlayer {
if (enableHlsJsPlayer(options.mediaSource.RunTimeTicks, 'Video') && isHls(options.mediaSource)) {
return this.setSrcWithHlsJs(elem, options, val);
- } else if (options.playMethod !== 'Transcode' && options.mediaSource.Container === 'flv') {
+ } else if (options.playMethod !== 'Transcode' && options.mediaSource.Container?.toUpperCase() === 'FLV') {
return this.setSrcWithFlvJs(elem, options, val);
} else {
elem.autoplay = true;
diff --git a/src/utils/mediaSource.ts b/src/utils/mediaSource.ts
index 8238ef1d4d..ef196db60f 100644
--- a/src/utils/mediaSource.ts
+++ b/src/utils/mediaSource.ts
@@ -6,5 +6,6 @@ import type { MediaSourceInfo } from '@jellyfin/sdk/lib/generated-client';
* @returns _true_ if the media source is an HLS stream, _false_ otherwise.
*/
export function isHls(mediaSource: MediaSourceInfo|null|undefined): boolean {
- return (mediaSource?.TranscodingSubProtocol || mediaSource?.Container) === 'hls';
+ const protocol = mediaSource?.TranscodingSubProtocol || mediaSource?.Container;
+ return protocol?.toUpperCase() === 'HLS';
}