| <!DOCTYPE html> |
| <html> |
| <head> |
| </head> |
| <body> |
| <iframe src="webrtc-remote-iframe.html" id="myFrame"></iframe> |
| <video controls autoplay playsinline muted id="local"></video> |
| <br> |
| <video controls autoplay playsinline id="remote"></video> |
| <script> |
| function startCapture(stream) |
| { |
| local.srcObject = stream; |
| // We emulate the remote stream by cloning the local stream. |
| remote.srcObject = stream.clone(); |
| |
| if (window.webkit) |
| window.webkit.messageHandlers.gum.postMessage("PASS"); |
| } |
| |
| async function startPlaying() |
| { |
| await local.play(); |
| await remote.play(); |
| if (window.webkit) |
| window.webkit.messageHandlers.gum.postMessage("PASS"); |
| } |
| |
| function startTest() |
| { |
| startPlaying(); |
| } |
| |
| let currentCommand; |
| function sendCommand(command) |
| { |
| if (!window.internals) { |
| if (window.webkit) |
| window.webkit.messageHandlers.gum.postMessage("FAIL"); |
| return; |
| } |
| currentCommand = command; |
| if (window.webkit) |
| window.internals.postRemoteControlCommand(command); |
| } |
| |
| function registerHandlers() |
| { |
| navigator.mediaSession.setActionHandler("play", () => { |
| if (window.webkit) |
| window.webkit.messageHandlers.gum.postMessage(currentCommand == "play" ? "PASS" : "FAIL, got play but expected " + currentCommand); |
| }); |
| navigator.mediaSession.setActionHandler("pause", () => { |
| if (window.webkit) |
| window.webkit.messageHandlers.gum.postMessage(currentCommand == "pause" ? "PASS" : "FAIL, got pause but expected " + currentCommand); |
| }); |
| if (window.webkit) |
| window.webkit.messageHandlers.gum.postMessage("PASS"); |
| } |
| </script> |
| </body> |
| </html> |