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 |