@@ -32,7 +32,7 @@ connectButton.disabled = false;
32
32
stopButton . disabled = true ;
33
33
34
34
videoSelect . onchange = function ( ) {
35
- videoSource = videoSelect . value ;
35
+ videoSource = videoSelect . value ;
36
36
} ;
37
37
38
38
const qvgaConstraints = { video : { width : 320 , height : 240 } } ;
@@ -94,7 +94,7 @@ function gotDevices(deviceInfos) {
94
94
if ( deviceInfo . kind === 'videoinput' ) {
95
95
option . text = deviceInfo . label || `camera ${ videoSelect . length + 1 } ` ;
96
96
videoSelect . appendChild ( option ) ;
97
- }
97
+ }
98
98
}
99
99
selectors . forEach ( ( select , selectorIndex ) => {
100
100
if ( Array . prototype . slice . call ( select . childNodes ) . some ( n => n . value === values [ selectorIndex ] ) ) {
@@ -202,14 +202,14 @@ function stop() {
202
202
document . addEventListener ( 'DOMContentLoaded' , async function ( event ) {
203
203
if ( stopped ) return ;
204
204
addToEventLog ( 'DOM Content Loaded' ) ;
205
-
205
+
206
206
// Need to support standard mediacapture-transform implementations
207
-
208
- if ( typeof MediaStreamTrackProcessor === 'undefined' ||
209
- typeof MediaStreamTrackGenerator === 'undefined' ) {
207
+
208
+ if ( typeof MediaStreamTrackProcessor === 'undefined' ||
209
+ typeof MediaStreamTrackGenerator === 'undefined' ) {
210
210
addToEventLog ( 'Your browser does not support the MSTP and MSTG APIs.' , 'fatal' ) ;
211
211
return ;
212
- }
212
+ }
213
213
214
214
try {
215
215
gotDevices ( await navigator . mediaDevices . enumerateDevices ( ) ) ;
@@ -231,24 +231,24 @@ document.addEventListener('DOMContentLoaded', async function(event) {
231
231
} else {
232
232
// draw the glass-glass latency chart
233
233
metrics_report ( ) ;
234
- google . charts . load ( 'current' , { 'packages' : [ 'corechart' ] } ) ;
235
- google . charts . setOnLoadCallback ( ( ) => {
236
- let data = new google . visualization . DataTable ( ) ;
237
- // addToEventLog('Data dump: ' + JSON.stringify(e2e.all));
238
- data . addColumn ( 'number' , 'Frame Number' ) ;
239
- data . addColumn ( 'number' , 'Glass-Glass Latency (ms)' ) ;
240
- data . addRows ( e2e . all ) ;
241
- let options = {
242
- width : 900 ,
243
- height : 500 ,
244
- title : 'Glass-Glass Latency (ms) versus Frame Number' ,
245
- haxis : { title : 'Frame Number' } ,
246
- vaxis : { title : 'Glass-Glass Latency' } ,
247
- legend : 'none'
248
- } ;
249
- let chart = new google . visualization . ScatterChart ( chart2_div ) ;
250
- chart . draw ( data , options ) ;
251
- } ) ;
234
+ const x = e2e . all . map ( item => item [ 0 ] ) ;
235
+ const y = e2e . all . map ( item => item [ 1 ] ) ;
236
+ Plotly . newPlot ( chart2_div , [ {
237
+ x ,
238
+ y ,
239
+ mode : 'markers' ,
240
+ type : 'scatter' ,
241
+ } ] , {
242
+ xaxis : {
243
+ title : 'Frame number' ,
244
+ autorange : true ,
245
+ } ,
246
+ yaxis : {
247
+ title : 'Glass-Glass-Latency (ms)' ,
248
+ autorange : true ,
249
+ } ,
250
+ title : 'Glass-Glass Latency (ms) versus Frame Number' ,
251
+ } ) ;
252
252
}
253
253
} , false ) ;
254
254
@@ -274,7 +274,7 @@ document.addEventListener('DOMContentLoaded', async function(event) {
274
274
275
275
async function startMedia ( ) {
276
276
if ( stopped ) return ;
277
- addToEventLog ( 'startMedia called' ) ;
277
+ addToEventLog ( 'startMedia called' ) ;
278
278
try {
279
279
// Collect the bitrate
280
280
const rate = document . getElementById ( 'rate' ) . value ;
@@ -331,11 +331,11 @@ document.addEventListener('DOMContentLoaded', async function(event) {
331
331
resolutionScale : 1 ,
332
332
framerateScale : 1.0 ,
333
333
} ;
334
-
334
+
335
335
let ssrcArr = new Uint32Array ( 1 ) ;
336
336
window . crypto . getRandomValues ( ssrcArr ) ;
337
337
const ssrc = ssrcArr [ 0 ] ;
338
-
338
+
339
339
const config = {
340
340
alpha : "discard" ,
341
341
latencyMode : latencyPref ,
@@ -345,7 +345,7 @@ document.addEventListener('DOMContentLoaded', async function(event) {
345
345
height : ts . height / vConfig . resolutionScale ,
346
346
hardwareAcceleration : encHw ,
347
347
decHwAcceleration : decHw ,
348
- bitrate : rate ,
348
+ bitrate : rate ,
349
349
framerate : ts . frameRate / vConfig . framerateScale ,
350
350
keyInterval : vConfig . keyInterval ,
351
351
ssrc : ssrc
@@ -365,7 +365,7 @@ document.addEventListener('DOMContentLoaded', async function(event) {
365
365
config . codec = "hvc1.1.6.L123.00" ; // Main profile, level 4.1, main Tier
366
366
config . hevc = { format : "annexb" } ;
367
367
config . pt = 2 ;
368
- break ;
368
+ break ;
369
369
case "VP8" :
370
370
config . codec = "vp8" ;
371
371
config . pt = 3 ;
0 commit comments