ensure webrtc connection gets closed after connection failure
This commit is contained in:
		
							parent
							
								
									7dfd47a5c4
								
							
						
					
					
						commit
						c20c40a807
					
				@ -119,7 +119,6 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
 | 
				
			|||||||
    private RtpContentMap responderRtpContentMap;
 | 
					    private RtpContentMap responderRtpContentMap;
 | 
				
			||||||
    private long rtpConnectionStarted = 0; //time of 'connected'
 | 
					    private long rtpConnectionStarted = 0; //time of 'connected'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    JingleRtpConnection(JingleConnectionManager jingleConnectionManager, Id id, Jid initiator) {
 | 
					    JingleRtpConnection(JingleConnectionManager jingleConnectionManager, Id id, Jid initiator) {
 | 
				
			||||||
        super(jingleConnectionManager, id, initiator);
 | 
					        super(jingleConnectionManager, id, initiator);
 | 
				
			||||||
        final Conversation conversation = jingleConnectionManager.getXmppConnectionService().findOrCreateConversation(
 | 
					        final Conversation conversation = jingleConnectionManager.getXmppConnectionService().findOrCreateConversation(
 | 
				
			||||||
@ -847,6 +846,7 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void setupWebRTC(final Set<Media> media, final List<PeerConnection.IceServer> iceServers) throws WebRTCWrapper.InitializationException {
 | 
					    private void setupWebRTC(final Set<Media> media, final List<PeerConnection.IceServer> iceServers) throws WebRTCWrapper.InitializationException {
 | 
				
			||||||
 | 
					        //TODO ensure registered with connection manager
 | 
				
			||||||
        final AppRTCAudioManager.SpeakerPhonePreference speakerPhonePreference;
 | 
					        final AppRTCAudioManager.SpeakerPhonePreference speakerPhonePreference;
 | 
				
			||||||
        if (media.contains(Media.VIDEO)) {
 | 
					        if (media.contains(Media.VIDEO)) {
 | 
				
			||||||
            speakerPhonePreference = AppRTCAudioManager.SpeakerPhonePreference.SPEAKER;
 | 
					            speakerPhonePreference = AppRTCAudioManager.SpeakerPhonePreference.SPEAKER;
 | 
				
			||||||
@ -950,13 +950,17 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
 | 
				
			|||||||
                Log.d(Config.LOGTAG, id.account.getJid().asBareJid() + ": not sending session-terminate after connectivity error because session is already in state " + this.state);
 | 
					                Log.d(Config.LOGTAG, id.account.getJid().asBareJid() + ": not sending session-terminate after connectivity error because session is already in state " + this.state);
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            //we need to call close
 | 
					            new Thread(this::closeWebRTCSessionAfterFailedConnection).start();
 | 
				
			||||||
            sendSessionTerminate(Reason.CONNECTIVITY_ERROR);
 | 
					 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            updateEndUserState();
 | 
					            updateEndUserState();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void closeWebRTCSessionAfterFailedConnection() {
 | 
				
			||||||
 | 
					        this.webRTCWrapper.close();
 | 
				
			||||||
 | 
					        sendSessionTerminate(Reason.CONNECTIVITY_ERROR);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public AppRTCAudioManager getAudioManager() {
 | 
					    public AppRTCAudioManager getAudioManager() {
 | 
				
			||||||
        return webRTCWrapper.getAudioManager();
 | 
					        return webRTCWrapper.getAudioManager();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user