@@ -518,44 +518,48 @@ function enableStatWatch() {
518
518
}
519
519
webrtc . onconnectionstatechange = ( state ) => {
520
520
videoConnected = state ;
521
- if ( videoConnected === "connected" && audioConnected === "connected" ) {
522
- app . status = state ;
523
- if ( ! statwatchenabled ) {
524
- enableStatWatch ( ) ;
525
- }
521
+ if ( videoConnected === "connected" ) {
526
522
// Repeatedly emit minimum latency target
527
523
webrtc . peerConnection . getReceivers ( ) . forEach ( ( receiver ) => {
528
- let intervalLoop = setInterval ( ( ) => {
524
+ let intervalLoop = setInterval ( async ( ) => {
529
525
if ( receiver . track . readyState !== "live" || receiver . transport . state !== "connected" ) {
530
526
clearInterval ( intervalLoop ) ;
531
527
return ;
532
528
} else {
533
- receiver . jitterBufferTarget = receiver . jitterBufferDelayHint = receiver . playoutDelayHint = 0 ;
529
+ receiver . jitterBufferTarget = receiver . jitterBufferDelayHint = receiver . playoutDelayHint = 0.0 ;
534
530
}
535
531
} , 1 ) ;
536
532
} ) ;
537
- } else {
538
- app . status = state === "connected" ? audioConnected : videoConnected ;
539
533
}
540
- } ;
541
- audio_webrtc . onconnectionstatechange = ( state ) => {
542
- audioConnected = state ;
543
534
if ( videoConnected === "connected" && audioConnected === "connected" ) {
544
535
app . status = state ;
545
536
if ( ! statwatchenabled ) {
546
537
enableStatWatch ( ) ;
547
538
}
539
+ } else {
540
+ app . status = state === "connected" ? audioConnected : videoConnected ;
541
+ }
542
+ } ;
543
+ audio_webrtc . onconnectionstatechange = ( state ) => {
544
+ audioConnected = state ;
545
+ if ( audioConnected === "connected" ) {
548
546
// Repeatedly emit minimum latency target
549
547
audio_webrtc . peerConnection . getReceivers ( ) . forEach ( ( receiver ) => {
550
- let intervalLoop = setInterval ( ( ) => {
548
+ let intervalLoop = setInterval ( async ( ) => {
551
549
if ( receiver . track . readyState !== "live" || receiver . transport . state !== "connected" ) {
552
550
clearInterval ( intervalLoop ) ;
553
551
return ;
554
552
} else {
555
- receiver . jitterBufferTarget = receiver . jitterBufferDelayHint = receiver . playoutDelayHint = 0 ;
553
+ receiver . jitterBufferTarget = receiver . jitterBufferDelayHint = receiver . playoutDelayHint = 0.0 ;
556
554
}
557
555
} , 1 ) ;
558
556
} ) ;
557
+ }
558
+ if ( audioConnected === "connected" && videoConnected === "connected" ) {
559
+ app . status = state ;
560
+ if ( ! statwatchenabled ) {
561
+ enableStatWatch ( ) ;
562
+ }
559
563
} else {
560
564
app . status = state === "connected" ? videoConnected : audioConnected ;
561
565
}
0 commit comments