@@ -3437,6 +3437,51 @@ describe('PeerConnectionAnalyzer', () => {
3437
3437
expect ( peerConnectionAnalyzer . _stagedRoundTripTime [ kind ] ) . toEqual ( [ ] )
3438
3438
} )
3439
3439
3440
+ test . each ( [
3441
+ [ 'packet count repeated two times' , 'audio' ] ,
3442
+ [ 'packet count repeated two times' , 'video' ] ,
3443
+ ] ) ( '%s, %s' , ( name , kind ) => {
3444
+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3445
+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3446
+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3447
+
3448
+ expect ( peerConnectionAnalyzer . _packets [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 ] )
3449
+ expect ( peerConnectionAnalyzer . _packetsLost [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 ] )
3450
+ expect ( peerConnectionAnalyzer . _packetsLostRatio [ kind ] . _relativeValues ) . toEqual ( [ 1.5 , 1.5 , 1.5 ] )
3451
+ expect ( peerConnectionAnalyzer . _timestamps [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 ] )
3452
+ expect ( peerConnectionAnalyzer . _timestampsForLogs [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 ] )
3453
+ expect ( peerConnectionAnalyzer . _packetsPerSecond [ kind ] . _relativeValues ) . toEqual ( [ NaN , NaN , NaN ] )
3454
+ expect ( peerConnectionAnalyzer . _roundTripTime [ kind ] . _relativeValues ) . toEqual ( [ 0.2 , 0.2 , 0.2 ] )
3455
+
3456
+ expect ( peerConnectionAnalyzer . _stagedPackets [ kind ] ) . toEqual ( [ ] )
3457
+ expect ( peerConnectionAnalyzer . _stagedPacketsLost [ kind ] ) . toEqual ( [ ] )
3458
+ expect ( peerConnectionAnalyzer . _stagedTimestamps [ kind ] ) . toEqual ( [ ] )
3459
+ expect ( peerConnectionAnalyzer . _stagedRoundTripTime [ kind ] ) . toEqual ( [ ] )
3460
+ } )
3461
+
3462
+ test . each ( [
3463
+ [ 'packet count repeated two times then changed' , 'audio' ] ,
3464
+ [ 'packet count repeated two times then changed' , 'video' ] ,
3465
+ ] ) ( '%s, %s' , ( name , kind ) => {
3466
+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3467
+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3468
+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3469
+ peerConnectionAnalyzer . _addStats ( kind , 300 , 70 , 13750 , 0.3 )
3470
+
3471
+ expect ( peerConnectionAnalyzer . _packets [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 , 150 ] )
3472
+ expect ( peerConnectionAnalyzer . _packetsLost [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 , 30 ] )
3473
+ expect ( peerConnectionAnalyzer . _packetsLostRatio [ kind ] . _relativeValues ) . toEqual ( [ 1.5 , 1.5 , 1.5 , 0.2 ] )
3474
+ expect ( peerConnectionAnalyzer . _timestamps [ kind ] . _relativeValues ) . toEqual ( [ 0 , 3750 ] )
3475
+ expect ( peerConnectionAnalyzer . _timestampsForLogs [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 , 3750 ] )
3476
+ expect ( peerConnectionAnalyzer . _packetsPerSecond [ kind ] . _relativeValues ) . toEqual ( [ NaN , NaN , NaN , 40 ] )
3477
+ expect ( peerConnectionAnalyzer . _roundTripTime [ kind ] . _relativeValues ) . toEqual ( [ 0.2 , 0.2 , 0.2 , 0.3 ] )
3478
+
3479
+ expect ( peerConnectionAnalyzer . _stagedPackets [ kind ] ) . toEqual ( [ ] )
3480
+ expect ( peerConnectionAnalyzer . _stagedPacketsLost [ kind ] ) . toEqual ( [ ] )
3481
+ expect ( peerConnectionAnalyzer . _stagedTimestamps [ kind ] ) . toEqual ( [ ] )
3482
+ expect ( peerConnectionAnalyzer . _stagedRoundTripTime [ kind ] ) . toEqual ( [ ] )
3483
+ } )
3484
+
3440
3485
describe ( 'distribute staged stats' , ( ) => {
3441
3486
3442
3487
const expectRelativeStagedStats = ( kind , index , expectedPackets , expectedPacketsLost , expectedTimestamps , expectedRoundTripTime ) => {
@@ -3502,6 +3547,20 @@ describe('PeerConnectionAnalyzer', () => {
3502
3547
expectRelativeStagedStats ( kind , 1 , 150 , 40 , 14000 , 0.2 )
3503
3548
} )
3504
3549
3550
+ test . each ( [
3551
+ [ 'two sets of fully repeated values' , 'audio' ] ,
3552
+ [ 'two sets of fully repeated values' , 'video' ] ,
3553
+ ] ) ( '%s, %s' , ( name , kind ) => {
3554
+ peerConnectionAnalyzer . _commitStats ( kind , 150 , 40 , 10000 , 0.2 )
3555
+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3556
+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3557
+
3558
+ peerConnectionAnalyzer . _distributeStagedStats ( kind )
3559
+
3560
+ expectRelativeStagedStats ( kind , 0 , 150 , 40 , 10000 , 0.2 )
3561
+ expectRelativeStagedStats ( kind , 1 , 150 , 40 , 10000 , 0.2 )
3562
+ } )
3563
+
3505
3564
test . each ( [
3506
3565
[ 'several sets of different values with repeated timestamps' , 'audio' ] ,
3507
3566
[ 'several sets of different values with repeated timestamps' , 'video' ] ,
@@ -3573,6 +3632,24 @@ describe('PeerConnectionAnalyzer', () => {
3573
3632
expectRelativeStagedStats ( kind , 2 , 150 , 40 , 17500 , 0.2 )
3574
3633
expectRelativeStagedStats ( kind , 3 , 150 , 40 , 20000 , 0.2 )
3575
3634
} )
3635
+
3636
+ test . each ( [
3637
+ [ 'several sets of fully repeated values' , 'audio' ] ,
3638
+ [ 'several sets of fully repeated values' , 'video' ] ,
3639
+ ] ) ( '%s, %s' , ( name , kind ) => {
3640
+ peerConnectionAnalyzer . _commitStats ( kind , 150 , 40 , 10000 , 0.2 )
3641
+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3642
+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3643
+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3644
+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3645
+
3646
+ peerConnectionAnalyzer . _distributeStagedStats ( kind )
3647
+
3648
+ expectRelativeStagedStats ( kind , 0 , 150 , 40 , 10000 , 0.2 )
3649
+ expectRelativeStagedStats ( kind , 1 , 150 , 40 , 10000 , 0.2 )
3650
+ expectRelativeStagedStats ( kind , 2 , 150 , 40 , 10000 , 0.2 )
3651
+ expectRelativeStagedStats ( kind , 3 , 150 , 40 , 10000 , 0.2 )
3652
+ } )
3576
3653
} )
3577
3654
} )
3578
3655
} )
0 commit comments