Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(16)

Side by Side Diff: chrome/test/data/extensions/api_test/webrtc_cast/basics.js

Issue 83043005: Cast Extensions API: Factory method for creating a cast session (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed scope Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 ]);
OLDNEW
« no previous file with comments | « chrome/renderer/resources/renderer_resources.grd ('k') | chrome/test/data/extensions/api_test/webrtc_cast/manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698