1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 var rtpStream
= chrome
.cast
.streaming
.rtpStream
;
6 var tabCapture
= chrome
.tabCapture
;
7 var udpTransport
= chrome
.cast
.streaming
.udpTransport
;
8 var createSession
= chrome
.cast
.streaming
.session
.create
;
9 var pass
= chrome
.test
.callbackPass
;
11 chrome
.test
.runTests([
12 function emptyLogWithLoggingDisabled() {
14 console
.log("[TEST] emptyLogWithLoggingDisabled");
15 tabCapture
.capture({audio
: true, video
: true},
16 pass(function(stream
) {
17 console
.log("Got MediaStream.");
18 chrome
.test
.assertTrue(!!stream
);
19 createSession(stream
.getAudioTracks()[0],
20 stream
.getVideoTracks()[0],
21 pass(function(stream
, audioId
, videoId
, udpId
) {
22 console
.log("Starting.");
23 var stateMachine
= new TestStateMachine(stream
,
27 var audioParams
= rtpStream
.getSupportedParams(audioId
)[0];
28 var videoParams
= rtpStream
.getSupportedParams(videoId
)[0];
29 var expectEmptyLogs = function(rawEvents
) {
30 chrome
.test
.assertEq(0, rawEvents
.byteLength
);
32 chrome
.test
.assertTrue(!!audioParams
.payload
.codecName
);
33 chrome
.test
.assertTrue(!!videoParams
.payload
.codecName
);
34 udpTransport
.setDestination(udpId
,
35 {address
: "127.0.0.1", port
: 2344});
36 rtpStream
.onStarted
.addListener(
37 stateMachine
.onStarted
.bind(stateMachine
));
38 stateMachine
.onAllStarted
=
39 pass(function(audioId
, videoId
) {
40 console
.log("Getting logs without enabling logging.");
41 rtpStream
.getRawEvents(audioId
, expectEmptyLogs
);
42 rtpStream
.getRawEvents(videoId
, expectEmptyLogs
);
43 console
.log("Disabling logging that is already disabled.");
44 rtpStream
.toggleLogging(audioId
, false);
45 rtpStream
.toggleLogging(videoId
, false);
46 console
.log("Stopping.");
47 rtpStream
.stop(audioId
);
48 rtpStream
.stop(videoId
);
49 }.bind(null, audioId
, videoId
));
50 rtpStream
.onStopped
.addListener(
51 stateMachine
.onStopped
.bind(stateMachine
));
52 stateMachine
.onAllStopped
=
53 pass(function(stream
, audioId
, videoId
, udpId
) {
54 console
.log("Destroying.");
55 rtpStream
.destroy(audioId
);
56 rtpStream
.destroy(videoId
);
57 udpTransport
.destroy(udpId
);
58 chrome
.test
.assertTrue(!!audioParams
.payload
.codecName
);
59 chrome
.test
.assertTrue(!!videoParams
.payload
.codecName
);
60 chrome
.test
.succeed();
61 }.bind(null, stream
, audioId
, videoId
, udpId
));
62 rtpStream
.start(audioId
, audioParams
);
63 rtpStream
.start(videoId
, videoParams
);
64 }.bind(null, stream
)));