[Gecko Bug 1993997] Test RTCEncodedVideoFrame & RTCEncodedAudioFrame in webrtc-encoded-transform/idlharness.
Differential Revision: https://phabricator.services.mozilla.com/D268396
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1993997 gecko-commit: aac97c728557db8370b4791e69487c5d13262741 gecko-reviewers: bwc
@guidou could you review this PR for Chromium?
According https://wpt.fyi/results/webrtc-encoded-transform/idlharness.https.window.html%3Finclude%3DSFrameTransform.*?diff&filter=ADC&run_id=5075916964495360&run_id=4818393812434944, postMessage(frame, [frame.data]) might be problematic in Safari, though postMessage(frame) should be supported.
@jan-ivar, if the above is correct, would you be ok removing [frame] from the above test?
I am fine adding a separate test for postMessage(frame, [frame.data]) support.
@jan-ivar, if the above is correct, would you be ok removing
[frame]from the above test?
I would, except removing [frame] doesn't appear to fix it for me locally with Safari TP 227.
Also, [frame] appears to work well in Safari for video and audio in https://jsfiddle.net/jib1/5t1mehn4/42/
So I'm not sure exactly sure what's going wrong. Interestingly if I comment out the audio side then it passes.
RTCEncodedVideoFrame: [`idlTestObjects.videoFrame`],
- RTCEncodedAudioFrame: [`idlTestObjects.audioFrame`],
});
idlTestObjects.videoFrame = await createRTCEncodedFrameFromScratch("video");
- idlTestObjects.audioFrame = await createRTCEncodedFrameFromScratch("audio");
How do I printf debug in Safari (to stdout)? dump("JIB1\n"); didn't seem to work.
Safari's issue is due to audio rendering being blocked without a user gesture, this probably makes getNoiseAudio fail somehow.
Given creating/transferring encoded frames has no known usecase in the scope of webrtc encoded transform, I would tend to not add the above test in interop 2025. We can on the other hand include it in webrtc interop 2026 effort.