commit 06b58386687a67418f77dd7c961a5b879436c7f2 parent 660104461e7f0660c8e6e85182c1687be93197d3 Author: Jan-Ivar Bruaroey <jib@mozilla.com> Date: Tue, 21 Oct 2025 20:02:35 +0000 Bug 1993997 - fix false positive in WPT RTCEncodedAudioFrame-audiolevel.html. r=bwc Differential Revision: https://phabricator.services.mozilla.com/D268596 Diffstat:
3 files changed, 19 insertions(+), 25 deletions(-)
diff --git a/testing/web-platform/meta/webrtc-encoded-transform/tentative/RTCEncodedAudioFrame-audiolevel.html.ini b/testing/web-platform/meta/webrtc-encoded-transform/tentative/RTCEncodedAudioFrame-audiolevel.html.ini @@ -0,0 +1,9 @@ +[RTCEncodedAudioFrame-audiolevel.html] + expected: + if sessionHistoryInParent and (os == "android") and not debug: [OK, TIMEOUT] + if not sessionHistoryInParent and not debug: [OK, TIMEOUT] + [audioLevel present in audio receiver] + expected: FAIL + + [audioLevel present in audio sender] + expected: FAIL diff --git a/testing/web-platform/tests/webrtc-encoded-transform/RTCEncodedFrame-copy-construction.https.html b/testing/web-platform/tests/webrtc-encoded-transform/RTCEncodedFrame-copy-construction.https.html @@ -2,6 +2,7 @@ <html> <head> <meta charset="utf-8"> +<meta name='timeout' content='long'> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src=/resources/testdriver.js></script> diff --git a/testing/web-platform/tests/webrtc-encoded-transform/tentative/RTCEncodedAudioFrame-audiolevel.html b/testing/web-platform/tests/webrtc-encoded-transform/tentative/RTCEncodedAudioFrame-audiolevel.html @@ -19,11 +19,11 @@ function doWorkExpectingAudioLevel() { return; } const metadata = frameOrDone.value.getMetadata(); - if (metadata === undefined) { - self.postMessage("No audioLevel "); + if (!("audioLevel" in metadata)) { + self.postMessage("No audioLevel"); return; } - if (metadata.audioLevel < 0 || metadata.audioLevel > 1) { + if (!(metadata.audioLevel >= 0 && metadata.audioLevel <= 1)) { self.postMessage("Invalid audioLevel value"); return; } @@ -37,42 +37,26 @@ function doWorkExpectingAudioLevel() { promise_test(async t => { const worker = new Worker(`data:text/javascript,(${doWorkExpectingAudioLevel.toString()})()`); - const workerPromise = new Promise((resolve, reject) => { - worker.onmessage = t.step_func(message => { - if (message.data == "OK") { - resolve(); - } else { - reject(message.data); - } - }); - }); - + const workerPromise = new Promise(r => worker.onmessage = r); await initiateCall( t, /*streamOptions=*/{audio: true, video: false}, /*enableAbsCaptureTime=*/false, worker, /*enableSenderTransform=*/false, /*enableReceiverTransform=*/true); - return workerPromise; + const {data} = await workerPromise; + assert_equals(data, "OK"); }, 'audioLevel present in audio receiver'); promise_test(async t => { const worker = new Worker(`data:text/javascript,(${doWorkExpectingAudioLevel.toString()})()`); - const workerPromise = new Promise((resolve, reject) => { - worker.onmessage = t.step_func(message => { - if (message.data == "OK") { - resolve(); - } else { - reject(message.data); - } - }); - }); - + const workerPromise = new Promise(r => worker.onmessage = r); await initiateCall( t, /*streamOptions=*/{audio: true, video: false}, /*enableAbsCaptureTime=*/false, worker, /*enableSenderTransform=*/true, /*enableReceiverTransform=*/false); - return workerPromise; + const {data} = await workerPromise; + assert_equals(data, "OK"); }, 'audioLevel present in audio sender');