@@ -72,10 +72,10 @@ export class WebRTCPeerConnection extends TypedEmitter<PeerConnectionEvents> imp
7272 }
7373 }
7474
75- private onicecandidate ( event : RTCPeerConnectionIceEvent ) {
75+ private async onicecandidate ( event : RTCPeerConnectionIceEvent ) {
7676 if ( event . candidate && trickleIce ) {
77- this . sendIceCandidate ( event . candidate ) ;
78- } else if ( ! event . candidate && ! trickleIce ) {
77+ await this . sendIceCandidate ( event . candidate ) ;
78+ } else {
7979 this . iceCandidateResolver && this . iceCandidateResolver ( ) ;
8080 }
8181 }
@@ -168,7 +168,7 @@ export class WebRTCPeerConnection extends TypedEmitter<PeerConnectionEvents> imp
168168
169169 async handleSignalingMessage ( msg : SignalingMessage ) {
170170 this . signalingQueue . push ( msg as RTCSignalingMessage ) ;
171- this . executeQueue ( ) ;
171+ await this . executeQueue ( ) ;
172172 }
173173
174174 private async executeQueue ( ) {
@@ -180,7 +180,7 @@ export class WebRTCPeerConnection extends TypedEmitter<PeerConnectionEvents> imp
180180 if ( ! message ) break ;
181181 switch ( message . signalingType ) {
182182 case 'candidate' :
183- this . handleIceCandidate ( message ) ;
183+ await this . handleIceCandidate ( message ) ;
184184 break ;
185185 case 'offer' :
186186 await this . handleOffer ( message ) ;
@@ -280,7 +280,7 @@ export class WebRTCPeerConnection extends TypedEmitter<PeerConnectionEvents> imp
280280 } ) ;
281281 log . trace ( 'WebRTCPeerConnection.makeAnswer called' , { offer} ) ;
282282 await this . pc . setRemoteDescription ( offer ) ;
283- this . matchMediaChannels ( ) ;
283+ await this . matchMediaChannels ( ) ;
284284 let answer = await this . pc . createAnswer ( ) ;
285285 log . trace ( 'WebRTCPeerConnection.makeAnswer created answer' , { answer} ) ;
286286 await this . pc . setLocalDescription ( answer ) ; // TODO: gst-webrtc seems to not resolve the promise correctly.
@@ -309,7 +309,7 @@ export class WebRTCPeerConnection extends TypedEmitter<PeerConnectionEvents> imp
309309 }
310310
311311 private async addIceCandidate ( candidate : RTCIceCandidate ) {
312- this . pc . addIceCandidate ( candidate ) ;
312+ await this . pc . addIceCandidate ( candidate ) ;
313313 }
314314
315315 private async sendIceCandidate ( candidate ?: RTCIceCandidate ) {
@@ -376,7 +376,7 @@ export class WebRTCPeerConnection extends TypedEmitter<PeerConnectionEvents> imp
376376 return sdpString ;
377377 }
378378
379- private matchMediaChannels ( ) {
379+ private async matchMediaChannels ( ) {
380380 log . trace ( 'WebRTCPeerConnection.matchMediaChannels called' ) ;
381381 const transceivers = this . pc . getTransceivers ( ) as RTCRtpTransceiver [ ] ;
382382 log . trace ( 'WebRTCPeerConnection.matchMediaChannels transceivers' , {
@@ -399,7 +399,7 @@ export class WebRTCPeerConnection extends TypedEmitter<PeerConnectionEvents> imp
399399 if ( channel . track ) {
400400 direction = 'sendonly' ;
401401 log . trace ( 'WebRTCPeerConnection.matchMediaChannels replace track' ) ;
402- transceiver . sender . replaceTrack ( channel . track as MediaStreamTrack ) ;
402+ await transceiver . sender . replaceTrack ( channel . track as MediaStreamTrack ) ;
403403 }
404404
405405 if ( channel . ontrack ) {
0 commit comments