diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /dom/media/webrtc/tests/mochitests/test_peerConnection_removeVideoTrack.html | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/media/webrtc/tests/mochitests/test_peerConnection_removeVideoTrack.html')
-rw-r--r-- | dom/media/webrtc/tests/mochitests/test_peerConnection_removeVideoTrack.html | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/dom/media/webrtc/tests/mochitests/test_peerConnection_removeVideoTrack.html b/dom/media/webrtc/tests/mochitests/test_peerConnection_removeVideoTrack.html new file mode 100644 index 0000000000..4c4e7905e1 --- /dev/null +++ b/dom/media/webrtc/tests/mochitests/test_peerConnection_removeVideoTrack.html @@ -0,0 +1,64 @@ +<!DOCTYPE HTML> +<html> +<head> + <script type="application/javascript" src="pc.js"></script> + <script type="application/javascript" src="/tests/dom/canvas/test/captureStream_common.js"></script> +</head> +<body> +<pre id="test"> +<script type="application/javascript"> + createHTML({ + bug: "1017888", + title: "Renegotiation: remove video track" + }); + + runNetworkTest(async (options) => { + // [TODO] re-enable HW decoder after bug 1526207 is fixed. + if (navigator.userAgent.includes("Android")) { + await pushPrefs(["media.navigator.mediadatadecoder_vpx_enabled", false], + ["media.webrtc.hw.h264.enabled", false]); + } + + const test = new PeerConnectionTest(options); + let receivedTrack, element; + addRenegotiation(test.chain, + [ + function PC_REMOTE_SETUP_HELPER(test) { + is(test.pcRemote._pc.getReceivers().length, 1, + "pcRemote should have one receiver before renegotiation"); + + receivedTrack = test.pcRemote._pc.getReceivers()[0].track; + is(receivedTrack.readyState, "live", + "The received track should be live"); + + element = createMediaElement("video", "pcRemoteReceivedVideo"); + element.srcObject = new MediaStream([receivedTrack]); + return haveEvent(element, "loadeddata"); + }, + function PC_LOCAL_REMOVE_VIDEO_TRACK(test) { + test.setOfferOptions({ offerToReceiveVideo: true }); + test.setMediaConstraints([], [{video: true}]); + return test.pcLocal.removeSender(0); + }, + ], + [ + function PC_REMOTE_CHECK_FLOW_STOPPED(test) { + is(test.pcRemote._pc.getTransceivers().length, 1, + "pcRemote should have one transceiver"); + const track = test.pcRemote._pc.getTransceivers()[0].receiver.track; + + const vAdded = test.pcRemote.remoteMediaElements.find( + elem => elem.id.includes(track.id)); + const helper = new VideoStreamHelper(); + return helper.checkVideoPaused(vAdded, 10, 10, 16, 5000); + }, + ] + ); + + test.setMediaConstraints([{video: true}], [{video: true}]); + await test.run(); + }); +</script> +</pre> +</body> +</html> |