Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java

Issue 2640433003: Android: AppRTCMobile: Don't leak CallActivity. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2014 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 private static final String DTLS_SRTP_KEY_AGREEMENT_CONSTRAINT = "DtlsSrtpKeyA greement"; 85 private static final String DTLS_SRTP_KEY_AGREEMENT_CONSTRAINT = "DtlsSrtpKeyA greement";
86 private static final int HD_VIDEO_WIDTH = 1280; 86 private static final int HD_VIDEO_WIDTH = 1280;
87 private static final int HD_VIDEO_HEIGHT = 720; 87 private static final int HD_VIDEO_HEIGHT = 720;
88 private static final int BPS_IN_KBPS = 1000; 88 private static final int BPS_IN_KBPS = 1000;
89 89
90 private static final PeerConnectionClient instance = new PeerConnectionClient( ); 90 private static final PeerConnectionClient instance = new PeerConnectionClient( );
91 private final PCObserver pcObserver = new PCObserver(); 91 private final PCObserver pcObserver = new PCObserver();
92 private final SDPObserver sdpObserver = new SDPObserver(); 92 private final SDPObserver sdpObserver = new SDPObserver();
93 private final ScheduledExecutorService executor; 93 private final ScheduledExecutorService executor;
94 94
95 private Context context;
96 private PeerConnectionFactory factory; 95 private PeerConnectionFactory factory;
97 private PeerConnection peerConnection; 96 private PeerConnection peerConnection;
98 PeerConnectionFactory.Options options = null; 97 PeerConnectionFactory.Options options = null;
99 private AudioSource audioSource; 98 private AudioSource audioSource;
100 private VideoSource videoSource; 99 private VideoSource videoSource;
101 private boolean videoCallEnabled; 100 private boolean videoCallEnabled;
102 private boolean preferIsac; 101 private boolean preferIsac;
103 private String preferredVideoCodec; 102 private String preferredVideoCodec;
104 private boolean videoCapturerStopped; 103 private boolean videoCapturerStopped;
105 private boolean isError; 104 private boolean isError;
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 this.options = options; 284 this.options = options;
286 } 285 }
287 286
288 public void createPeerConnectionFactory(final Context context, 287 public void createPeerConnectionFactory(final Context context,
289 final PeerConnectionParameters peerConnectionParameters, final PeerConnect ionEvents events) { 288 final PeerConnectionParameters peerConnectionParameters, final PeerConnect ionEvents events) {
290 this.peerConnectionParameters = peerConnectionParameters; 289 this.peerConnectionParameters = peerConnectionParameters;
291 this.events = events; 290 this.events = events;
292 videoCallEnabled = peerConnectionParameters.videoCallEnabled; 291 videoCallEnabled = peerConnectionParameters.videoCallEnabled;
293 dataChannelEnabled = peerConnectionParameters.dataChannelParameters != null; 292 dataChannelEnabled = peerConnectionParameters.dataChannelParameters != null;
294 // Reset variables to initial states. 293 // Reset variables to initial states.
295 this.context = null;
296 factory = null; 294 factory = null;
297 peerConnection = null; 295 peerConnection = null;
298 preferIsac = false; 296 preferIsac = false;
299 videoCapturerStopped = false; 297 videoCapturerStopped = false;
300 isError = false; 298 isError = false;
301 queuedRemoteCandidates = null; 299 queuedRemoteCandidates = null;
302 localSdp = null; // either offer or answer SDP 300 localSdp = null; // either offer or answer SDP
303 mediaStream = null; 301 mediaStream = null;
304 videoCapturer = null; 302 videoCapturer = null;
305 renderVideo = true; 303 renderVideo = true;
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 }); 450 });
453 451
454 // Create peer connection factory. 452 // Create peer connection factory.
455 if (!PeerConnectionFactory.initializeAndroidGlobals( 453 if (!PeerConnectionFactory.initializeAndroidGlobals(
456 context, true, true, peerConnectionParameters.videoCodecHwAccelerati on)) { 454 context, true, true, peerConnectionParameters.videoCodecHwAccelerati on)) {
457 events.onPeerConnectionError("Failed to initializeAndroidGlobals"); 455 events.onPeerConnectionError("Failed to initializeAndroidGlobals");
458 } 456 }
459 if (options != null) { 457 if (options != null) {
460 Log.d(TAG, "Factory networkIgnoreMask option: " + options.networkIgnoreMas k); 458 Log.d(TAG, "Factory networkIgnoreMask option: " + options.networkIgnoreMas k);
461 } 459 }
462 this.context = context;
463 factory = new PeerConnectionFactory(options); 460 factory = new PeerConnectionFactory(options);
464 Log.d(TAG, "Peer connection factory created."); 461 Log.d(TAG, "Peer connection factory created.");
465 } 462 }
466 463
467 private void createMediaConstraintsInternal() { 464 private void createMediaConstraintsInternal() {
468 // Create peer connection constraints. 465 // Create peer connection constraints.
469 pcConstraints = new MediaConstraints(); 466 pcConstraints = new MediaConstraints();
470 // Enable DTLS for normal calls and disable for loopback calls. 467 // Enable DTLS for normal calls and disable for loopback calls.
471 if (peerConnectionParameters.loopback) { 468 if (peerConnectionParameters.loopback) {
472 pcConstraints.optional.add( 469 pcConstraints.optional.add(
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 } 629 }
633 videoCapturerStopped = true; 630 videoCapturerStopped = true;
634 videoCapturer.dispose(); 631 videoCapturer.dispose();
635 videoCapturer = null; 632 videoCapturer = null;
636 } 633 }
637 Log.d(TAG, "Closing video source."); 634 Log.d(TAG, "Closing video source.");
638 if (videoSource != null) { 635 if (videoSource != null) {
639 videoSource.dispose(); 636 videoSource.dispose();
640 videoSource = null; 637 videoSource = null;
641 } 638 }
639 localRender = null;
640 remoteRenders = null;
642 Log.d(TAG, "Closing peer connection factory."); 641 Log.d(TAG, "Closing peer connection factory.");
643 if (factory != null) { 642 if (factory != null) {
644 factory.dispose(); 643 factory.dispose();
645 factory = null; 644 factory = null;
646 } 645 }
647 options = null; 646 options = null;
648 Log.d(TAG, "Closing peer connection done."); 647 Log.d(TAG, "Closing peer connection done.");
649 events.onPeerConnectionClosed(); 648 events.onPeerConnectionClosed();
650 PeerConnectionFactory.stopInternalTracingCapture(); 649 PeerConnectionFactory.stopInternalTracingCapture();
651 PeerConnectionFactory.shutdownInternalTracer(); 650 PeerConnectionFactory.shutdownInternalTracer();
651 events = null;
652 } 652 }
653 653
654 public boolean isHDVideo() { 654 public boolean isHDVideo() {
655 if (!videoCallEnabled) { 655 if (!videoCallEnabled) {
656 return false; 656 return false;
657 } 657 }
658 658
659 return videoWidth * videoHeight >= 1280 * 720; 659 return videoWidth * videoHeight >= 1280 * 720;
660 } 660 }
661 661
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after
1279 public void onCreateFailure(final String error) { 1279 public void onCreateFailure(final String error) {
1280 reportError("createSDP error: " + error); 1280 reportError("createSDP error: " + error);
1281 } 1281 }
1282 1282
1283 @Override 1283 @Override
1284 public void onSetFailure(final String error) { 1284 public void onSetFailure(final String error) {
1285 reportError("setSDP error: " + error); 1285 reportError("setSDP error: " + error);
1286 } 1286 }
1287 } 1287 }
1288 } 1288 }
OLDNEW
« no previous file with comments | « webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698