| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 var sendTransport = chrome.webrtc.castSendTransport; | 5 var sendTransport = chrome.webrtc.castSendTransport; |
| 6 var tabCapture = chrome.tabCapture; | 6 var tabCapture = chrome.tabCapture; |
| 7 var udpTransport = chrome.webrtc.castUdpTransport; | 7 var udpTransport = chrome.webrtc.castUdpTransport; |
| 8 var createSession = chrome.cast.streaming.session.create; |
| 8 | 9 |
| 9 chrome.test.runTests([ | 10 chrome.test.runTests([ |
| 10 function udpTransportCreate() { | 11 function sendTransportStart() { |
| 11 udpTransport.create(function(udpId) { | 12 tabCapture.capture({audio: true, video: true}, function(stream) { |
| 12 udpTransport.start( | 13 console.log("Got MediaStream."); |
| 13 udpId, | |
| 14 {address: "127.0.0.1", port: 60613}); | |
| 15 udpTransport.destroy(udpId); | |
| 16 chrome.test.succeed(); | |
| 17 }); | |
| 18 }, | |
| 19 function sendTransportCreate() { | |
| 20 tabCapture.capture({audio: true}, function(stream) { | |
| 21 chrome.test.assertTrue(!!stream); | 14 chrome.test.assertTrue(!!stream); |
| 22 udpTransport.create(function(stream, udpId) { | 15 createSession(stream.getAudioTracks()[0], |
| 23 sendTransport.create( | 16 stream.getVideoTracks()[0], |
| 24 udpId, | 17 function(stream, audioId, videoId, udpId) { |
| 25 stream.getAudioTracks()[0], | 18 var audioParams = sendTransport.getCaps(audioId); |
| 26 function(stream, udpId, sendTransportId) { | 19 var videoParams = sendTransport.getCaps(videoId); |
| 27 sendTransport.destroy(sendTransportId); | 20 sendTransport.start(audioId, audioParams); |
| 28 udpTransport.destroy(udpId); | 21 sendTransport.start(videoId, videoParams); |
| 29 stream.stop(); | 22 sendTransport.stop(audioId); |
| 30 chrome.test.succeed(); | 23 sendTransport.stop(videoId); |
| 31 }.bind(null, stream, udpId)); | 24 sendTransport.destroy(audioId); |
| 25 sendTransport.destroy(videoId); |
| 26 udpTransport.destroy(udpId); |
| 27 stream.stop(); |
| 28 chrome.test.assertEq(audioParams.payloads[0].codecName, "OPUS"); |
| 29 chrome.test.assertEq(videoParams.payloads[0].codecName, "VP8"); |
| 30 chrome.test.succeed(); |
| 32 }.bind(null, stream)); | 31 }.bind(null, stream)); |
| 33 }); | 32 }); |
| 34 }, | 33 }, |
| 35 function sendTransportGetCapsAudio() { | |
| 36 tabCapture.capture({audio: true}, function(stream) { | |
| 37 chrome.test.assertTrue(!!stream); | |
| 38 udpTransport.create(function(stream, udpId) { | |
| 39 sendTransport.create( | |
| 40 udpId, | |
| 41 stream.getAudioTracks()[0], | |
| 42 function(stream, udpId, sendTransportId) { | |
| 43 var caps = sendTransport.getCaps(sendTransportId); | |
| 44 sendTransport.destroy(sendTransportId); | |
| 45 udpTransport.destroy(udpId); | |
| 46 stream.stop(); | |
| 47 chrome.test.assertEq(caps.payloads[0].codecName, "OPUS"); | |
| 48 chrome.test.succeed(); | |
| 49 }.bind(null, stream, udpId)); | |
| 50 }.bind(null, stream)); | |
| 51 }); | |
| 52 }, | |
| 53 function sendTransportStart() { | |
| 54 function startId(id) { | |
| 55 sendTransport.start(id,sendTransport.getCaps(id)); | |
| 56 } | |
| 57 function cleanupId(id) { | |
| 58 sendTransport.stop(id); | |
| 59 sendTransport.destroy(id); | |
| 60 } | |
| 61 | |
| 62 console.log("Caputre MediaStream..."); | |
| 63 tabCapture.capture({audio: true, video: true}, function(stream) { | |
| 64 console.log("Got MediaStream."); | |
| 65 | |
| 66 chrome.test.assertTrue(!!stream); | |
| 67 udpTransport.create(function(stream, udpId) { | |
| 68 console.log("Got udp transport."); | |
| 69 | |
| 70 // Create a transport for audio. | |
| 71 sendTransport.create( | |
| 72 udpId, | |
| 73 stream.getAudioTracks()[0], | |
| 74 function(stream, udpId, audioId) { | |
| 75 console.log("Got audio stream."); | |
| 76 | |
| 77 // Create a transport for video. | |
| 78 sendTransport.create( | |
| 79 udpId, | |
| 80 stream.getVideoTracks()[0], | |
| 81 function(stream, udpId, audioId, videoId) { | |
| 82 console.log("Got video stream."); | |
| 83 startId(audioId); | |
| 84 cleanupId(audioId); | |
| 85 startId(videoId); | |
| 86 cleanupId(videoId); | |
| 87 udpTransport.destroy(udpId); | |
| 88 stream.stop(); | |
| 89 chrome.test.succeed(); | |
| 90 }.bind(null, stream, udpId, audioId)); | |
| 91 }.bind(null, stream, udpId)); | |
| 92 }.bind(null, stream)); | |
| 93 }); | |
| 94 }, | |
| 95 ]); | 34 ]); |
| OLD | NEW |