diff --git a/core/util/browser.js b/core/util/browser.js index b55264fec..407cad9cb 100644 --- a/core/util/browser.js +++ b/core/util/browser.js @@ -113,10 +113,11 @@ async function _checkWebCodecsH264DecodeSupport() { 'NjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCBpcF9yYXRpbz0xLjQwIGFx' + 'PTE6MS4wMACAAAABZYiEBrxmKAAPVccAAS044AA5DRJMnkycJk4TPw==')); + let gotframe = false; let error = null; let decoder = new VideoDecoder({ - output: (frame) => {}, + output: (frame) => { gotframe = true; }, error: (e) => { error = e; }, }); let chunk = new EncodedVideoChunk({ @@ -135,6 +136,13 @@ async function _checkWebCodecsH264DecodeSupport() { error = e; } + // Firefox fails to deliver the error on Windows, so we need to + // check if we got a frame instead + // https://bugzilla.mozilla.org/show_bug.cgi?id=1932579 + if (!gotframe) { + return false; + } + if (error !== null) { return false; }