| <!-- webkit-test-runner [ enableCaptureVideoInUIProcess=true ] --> |
| <!doctype html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>Testing video rotation without CVO</title> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <video id="localVideo" autoplay playsInline width="320" height="240"></video> |
| <video id="remoteVideo" autoplay playsInline width="320" height="240"></video> |
| <script src ="routines.js"></script> |
| <script> |
| promise_test(async (test) => { |
| const localStream = await navigator.mediaDevices.getUserMedia({ video: { width: 320, height: 240 } }); |
| if (window.testRunner) |
| window.testRunner.setMockCameraOrientation(90); |
| |
| localVideo.srcObject = localStream; |
| const remoteStream = await new Promise((resolve, reject) => { |
| track = localStream.getVideoTracks()[0]; |
| |
| createConnections((firstConnection) => { |
| firstConnection.addTrack(track, localStream); |
| if (window.internals) |
| internals.applyRotationForOutgoingVideoSources(firstConnection); |
| }, (secondConnection) => { |
| secondConnection.ontrack = (trackEvent) => { |
| resolve(trackEvent.streams[0]); |
| }; |
| }); |
| setTimeout(() => reject("Test timed out"), 5000); |
| }); |
| |
| remoteVideo.srcObject = remoteStream; |
| await remoteVideo.play(); |
| await waitForVideoSize(remoteVideo, 240, 320); |
| }, "Testing video exchange with rotation applied before transmission"); |
| </script> |
| </body> |
| </html> |