parse turns and stuns (regression from earlier commit)
This commit is contained in:
		
							parent
							
								
									ab2681640a
								
							
						
					
					
						commit
						16d34c2ba0
					
				@ -1018,7 +1018,11 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
 | 
				
			|||||||
                            if (port < 0 || port > 65535) {
 | 
					                            if (port < 0 || port > 65535) {
 | 
				
			||||||
                                continue;
 | 
					                                continue;
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            if (Arrays.asList("stun", "turn").contains(type) && Arrays.asList("udp", "tcp").contains(transport)) {
 | 
					                            if (Arrays.asList("stun", "stuns", "turn", "turns").contains(type) && Arrays.asList("udp", "tcp").contains(transport)) {
 | 
				
			||||||
 | 
					                                if (Arrays.asList("stuns","turns").contains(type) && "udp".equals(transport)) {
 | 
				
			||||||
 | 
					                                    Log.d(Config.LOGTAG,id.account.getJid().asBareJid()+": skipping invalid combination of udp/tls in external services");
 | 
				
			||||||
 | 
					                                    continue;
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
                                //TODO wrap ipv6 addresses
 | 
					                                //TODO wrap ipv6 addresses
 | 
				
			||||||
                                PeerConnection.IceServer.Builder iceServerBuilder = PeerConnection.IceServer.builder(String.format("%s:%s:%s?transport=%s", type, host, port, transport));
 | 
					                                PeerConnection.IceServer.Builder iceServerBuilder = PeerConnection.IceServer.builder(String.format("%s:%s:%s?transport=%s", type, host, port, transport));
 | 
				
			||||||
                                if (username != null && password != null) {
 | 
					                                if (username != null && password != null) {
 | 
				
			||||||
 | 
				
			|||||||
@ -39,7 +39,6 @@ import org.webrtc.VideoTrack;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
import java.util.Collections;
 | 
					import java.util.Collections;
 | 
				
			||||||
import java.util.Comparator;
 | 
					 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
import java.util.Set;
 | 
					import java.util.Set;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -146,7 +145,7 @@ public class WebRTCWrapper {
 | 
				
			|||||||
    private AppRTCAudioManager appRTCAudioManager = null;
 | 
					    private AppRTCAudioManager appRTCAudioManager = null;
 | 
				
			||||||
    private Context context = null;
 | 
					    private Context context = null;
 | 
				
			||||||
    private EglBase eglBase = null;
 | 
					    private EglBase eglBase = null;
 | 
				
			||||||
    private Optional<CapturerChoice> optionalCapturer;
 | 
					    private CapturerChoice capturerChoice;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public WebRTCWrapper(final EventCallback eventCallback) {
 | 
					    public WebRTCWrapper(final EventCallback eventCallback) {
 | 
				
			||||||
        this.eventCallback = eventCallback;
 | 
					        this.eventCallback = eventCallback;
 | 
				
			||||||
@ -177,16 +176,16 @@ public class WebRTCWrapper {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        final MediaStream stream = peerConnectionFactory.createLocalMediaStream("my-media-stream");
 | 
					        final MediaStream stream = peerConnectionFactory.createLocalMediaStream("my-media-stream");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.optionalCapturer = media.contains(Media.VIDEO) ? getVideoCapturer() : Optional.absent();
 | 
					        final Optional<CapturerChoice> optionalCapturerChoice = media.contains(Media.VIDEO) ? getVideoCapturer() : Optional.absent();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (this.optionalCapturer.isPresent()) {
 | 
					        if (optionalCapturerChoice.isPresent()) {
 | 
				
			||||||
            final CapturerChoice choice = this.optionalCapturer.get();
 | 
					            this.capturerChoice = optionalCapturerChoice.get();
 | 
				
			||||||
            final CameraVideoCapturer capturer = choice.cameraVideoCapturer;
 | 
					            final CameraVideoCapturer capturer = this.capturerChoice.cameraVideoCapturer;
 | 
				
			||||||
            final VideoSource videoSource = peerConnectionFactory.createVideoSource(false);
 | 
					            final VideoSource videoSource = peerConnectionFactory.createVideoSource(false);
 | 
				
			||||||
            SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create("webrtc", eglBase.getEglBaseContext());
 | 
					            SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create("webrtc", eglBase.getEglBaseContext());
 | 
				
			||||||
            capturer.initialize(surfaceTextureHelper, requireContext(), videoSource.getCapturerObserver());
 | 
					            capturer.initialize(surfaceTextureHelper, requireContext(), videoSource.getCapturerObserver());
 | 
				
			||||||
            Log.d(Config.LOGTAG, String.format("start capturing at %dx%d@%d", choice.captureFormat.width, choice.captureFormat.height, choice.getFrameRate()));
 | 
					            Log.d(Config.LOGTAG, String.format("start capturing at %dx%d@%d", capturerChoice.captureFormat.width, capturerChoice.captureFormat.height, capturerChoice.getFrameRate()));
 | 
				
			||||||
            capturer.startCapture(choice.captureFormat.width, choice.captureFormat.height, choice.getFrameRate());
 | 
					            capturer.startCapture(capturerChoice.captureFormat.width, capturerChoice.captureFormat.height, capturerChoice.getFrameRate());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            this.localVideoTrack = peerConnectionFactory.createVideoTrack("my-video-track", videoSource);
 | 
					            this.localVideoTrack = peerConnectionFactory.createVideoTrack("my-video-track", videoSource);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -214,7 +213,7 @@ public class WebRTCWrapper {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public void close() {
 | 
					    public void close() {
 | 
				
			||||||
        final PeerConnection peerConnection = this.peerConnection;
 | 
					        final PeerConnection peerConnection = this.peerConnection;
 | 
				
			||||||
        final Optional<CapturerChoice> optionalCapturer = this.optionalCapturer;
 | 
					        final CapturerChoice capturerChoice = this.capturerChoice;
 | 
				
			||||||
        final AppRTCAudioManager audioManager = this.appRTCAudioManager;
 | 
					        final AppRTCAudioManager audioManager = this.appRTCAudioManager;
 | 
				
			||||||
        final EglBase eglBase = this.eglBase;
 | 
					        final EglBase eglBase = this.eglBase;
 | 
				
			||||||
        if (peerConnection != null) {
 | 
					        if (peerConnection != null) {
 | 
				
			||||||
@ -225,9 +224,9 @@ public class WebRTCWrapper {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        this.localVideoTrack = null;
 | 
					        this.localVideoTrack = null;
 | 
				
			||||||
        this.remoteVideoTrack = null;
 | 
					        this.remoteVideoTrack = null;
 | 
				
			||||||
        if (optionalCapturer != null && optionalCapturer.isPresent()) {
 | 
					        if (capturerChoice != null) {
 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                optionalCapturer.get().cameraVideoCapturer.stopCapture();
 | 
					                capturerChoice.cameraVideoCapturer.stopCapture();
 | 
				
			||||||
            } catch (InterruptedException e) {
 | 
					            } catch (InterruptedException e) {
 | 
				
			||||||
                Log.e(Config.LOGTAG, "unable to stop capturing");
 | 
					                Log.e(Config.LOGTAG, "unable to stop capturing");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user