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

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

Issue 1998483003: General cleanup on AppRTC Android Demo codebase (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Remove unused string that was accidentally added. Created 4 years, 7 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
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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 this.audioCodec = audioCodec; 167 this.audioCodec = audioCodec;
168 this.noAudioProcessing = noAudioProcessing; 168 this.noAudioProcessing = noAudioProcessing;
169 this.aecDump = aecDump; 169 this.aecDump = aecDump;
170 this.useOpenSLES = useOpenSLES; 170 this.useOpenSLES = useOpenSLES;
171 } 171 }
172 } 172 }
173 173
174 /** 174 /**
175 * Peer connection events. 175 * Peer connection events.
176 */ 176 */
177 public static interface PeerConnectionEvents { 177 public interface PeerConnectionEvents {
178 /** 178 /**
179 * Callback fired once local SDP is created and set. 179 * Callback fired once local SDP is created and set.
180 */ 180 */
181 public void onLocalDescription(final SessionDescription sdp); 181 void onLocalDescription(final SessionDescription sdp);
182 182
183 /** 183 /**
184 * Callback fired once local Ice candidate is generated. 184 * Callback fired once local Ice candidate is generated.
185 */ 185 */
186 public void onIceCandidate(final IceCandidate candidate); 186 void onIceCandidate(final IceCandidate candidate);
187 187
188 /** 188 /**
189 * Callback fired once local ICE candidates are removed. 189 * Callback fired once local ICE candidates are removed.
190 */ 190 */
191 public void onIceCandidatesRemoved(final IceCandidate[] candidates); 191 void onIceCandidatesRemoved(final IceCandidate[] candidates);
192 192
193 /** 193 /**
194 * Callback fired once connection is established (IceConnectionState is 194 * Callback fired once connection is established (IceConnectionState is
195 * CONNECTED). 195 * CONNECTED).
196 */ 196 */
197 public void onIceConnected(); 197 void onIceConnected();
198 198
199 /** 199 /**
200 * Callback fired once connection is closed (IceConnectionState is 200 * Callback fired once connection is closed (IceConnectionState is
201 * DISCONNECTED). 201 * DISCONNECTED).
202 */ 202 */
203 public void onIceDisconnected(); 203 void onIceDisconnected();
204 204
205 /** 205 /**
206 * Callback fired once peer connection is closed. 206 * Callback fired once peer connection is closed.
207 */ 207 */
208 public void onPeerConnectionClosed(); 208 void onPeerConnectionClosed();
209 209
210 /** 210 /**
211 * Callback fired once peer connection statistics is ready. 211 * Callback fired once peer connection statistics is ready.
212 */ 212 */
213 public void onPeerConnectionStatsReady(final StatsReport[] reports); 213 void onPeerConnectionStatsReady(final StatsReport[] reports);
214 214
215 /** 215 /**
216 * Callback fired once peer connection error happened. 216 * Callback fired once peer connection error happened.
217 */ 217 */
218 public void onPeerConnectionError(final String description); 218 void onPeerConnectionError(final String description);
219 } 219 }
220 220
221 private PeerConnectionClient() { 221 private PeerConnectionClient() {
222 executor = new LooperExecutor(); 222 executor = new LooperExecutor();
223 // Looper thread is started once in private ctor and is used for all 223 // Looper thread is started once in private ctor and is used for all
224 // peer connection API calls to ensure new peer connection factory is 224 // peer connection API calls to ensure new peer connection factory is
225 // created on the same thread as previously destroyed factory. 225 // created on the same thread as previously destroyed factory.
226 executor.requestStart(); 226 executor.requestStart();
227 } 227 }
228 228
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 if (videoCallEnabled && peerConnectionParameters.videoCodec != null) { 319 if (videoCallEnabled && peerConnectionParameters.videoCodec != null) {
320 if (peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_VP9)) { 320 if (peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_VP9)) {
321 preferredVideoCodec = VIDEO_CODEC_VP9; 321 preferredVideoCodec = VIDEO_CODEC_VP9;
322 } else if (peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_H264)) { 322 } else if (peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_H264)) {
323 preferredVideoCodec = VIDEO_CODEC_H264; 323 preferredVideoCodec = VIDEO_CODEC_H264;
324 } 324 }
325 } 325 }
326 Log.d(TAG, "Pereferred video codec: " + preferredVideoCodec); 326 Log.d(TAG, "Pereferred video codec: " + preferredVideoCodec);
327 327
328 // Check if ISAC is used by default. 328 // Check if ISAC is used by default.
329 preferIsac = false; 329 preferIsac = peerConnectionParameters.audioCodec != null
330 if (peerConnectionParameters.audioCodec != null 330 && peerConnectionParameters.audioCodec.equals(AUDIO_CODEC_ISAC);
331 && peerConnectionParameters.audioCodec.equals(AUDIO_CODEC_ISAC)) {
332 preferIsac = true;
333 }
334 331
335 // Enable/disable OpenSL ES playback. 332 // Enable/disable OpenSL ES playback.
336 if (!peerConnectionParameters.useOpenSLES) { 333 if (!peerConnectionParameters.useOpenSLES) {
337 Log.d(TAG, "Disable OpenSL ES audio even if device supports it"); 334 Log.d(TAG, "Disable OpenSL ES audio even if device supports it");
338 WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(true /* enable */); 335 WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(true /* enable */);
339 } else { 336 } else {
340 Log.d(TAG, "Allow OpenSL ES audio if device supports it"); 337 Log.d(TAG, "Allow OpenSL ES audio if device supports it");
341 WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(false); 338 WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(false);
342 } 339 }
343 340
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 } 492 }
496 mediaStream.addTrack(createVideoTrack(videoCapturer)); 493 mediaStream.addTrack(createVideoTrack(videoCapturer));
497 } 494 }
498 495
499 mediaStream.addTrack(createAudioTrack()); 496 mediaStream.addTrack(createAudioTrack());
500 peerConnection.addStream(mediaStream); 497 peerConnection.addStream(mediaStream);
501 498
502 if (peerConnectionParameters.aecDump) { 499 if (peerConnectionParameters.aecDump) {
503 try { 500 try {
504 aecDumpFileDescriptor = ParcelFileDescriptor.open( 501 aecDumpFileDescriptor = ParcelFileDescriptor.open(
505 new File("/sdcard/Download/audio.aecdump"), 502 new File(Environment.getExternalStorageDirectory().getPath()
503 + "Download/audio.aecdump"),
506 ParcelFileDescriptor.MODE_READ_WRITE | 504 ParcelFileDescriptor.MODE_READ_WRITE |
507 ParcelFileDescriptor.MODE_CREATE | 505 ParcelFileDescriptor.MODE_CREATE |
508 ParcelFileDescriptor.MODE_TRUNCATE); 506 ParcelFileDescriptor.MODE_TRUNCATE);
509 factory.startAecDump(aecDumpFileDescriptor.getFd(), -1); 507 factory.startAecDump(aecDumpFileDescriptor.getFd(), -1);
510 } catch(IOException e) { 508 } catch(IOException e) {
511 Log.e(TAG, "Can not open aecdump file", e); 509 Log.e(TAG, "Can not open aecdump file", e);
512 } 510 }
513 } 511 }
514 512
515 Log.d(TAG, "Peer connection created."); 513 Log.d(TAG, "Peer connection created.");
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 Log.e(TAG, "Can not parse video width from video constraints"); 554 Log.e(TAG, "Can not parse video width from video constraints");
557 } 555 }
558 } else if (keyValuePair.getKey().equals("minHeight")) { 556 } else if (keyValuePair.getKey().equals("minHeight")) {
559 try { 557 try {
560 minHeight = Integer.parseInt(keyValuePair.getValue()); 558 minHeight = Integer.parseInt(keyValuePair.getValue());
561 } catch (NumberFormatException e) { 559 } catch (NumberFormatException e) {
562 Log.e(TAG, "Can not parse video height from video constraints"); 560 Log.e(TAG, "Can not parse video height from video constraints");
563 } 561 }
564 } 562 }
565 } 563 }
566 if (minWidth * minHeight >= 1280 * 720) { 564 return minWidth * minHeight >= 1280 * 720;
567 return true;
568 } else {
569 return false;
570 }
571 } 565 }
572 566
573 private void getStats() { 567 private void getStats() {
574 if (peerConnection == null || isError) { 568 if (peerConnection == null || isError) {
575 return; 569 return;
576 } 570 }
577 boolean success = peerConnection.getStats(new StatsObserver() { 571 boolean success = peerConnection.getStats(new StatsObserver() {
578 @Override 572 @Override
579 public void onComplete(final StatsReport[] reports) { 573 public void onComplete(final StatsReport[] reports) {
580 events.onPeerConnectionStatsReady(reports); 574 events.onPeerConnectionStatsReady(reports);
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 } 855 }
862 for (int i = 0; (i < lines.length) 856 for (int i = 0; (i < lines.length)
863 && (mLineIndex == -1 || codecRtpMap == null); i++) { 857 && (mLineIndex == -1 || codecRtpMap == null); i++) {
864 if (lines[i].startsWith(mediaDescription)) { 858 if (lines[i].startsWith(mediaDescription)) {
865 mLineIndex = i; 859 mLineIndex = i;
866 continue; 860 continue;
867 } 861 }
868 Matcher codecMatcher = codecPattern.matcher(lines[i]); 862 Matcher codecMatcher = codecPattern.matcher(lines[i]);
869 if (codecMatcher.matches()) { 863 if (codecMatcher.matches()) {
870 codecRtpMap = codecMatcher.group(1); 864 codecRtpMap = codecMatcher.group(1);
871 continue;
872 } 865 }
873 } 866 }
874 if (mLineIndex == -1) { 867 if (mLineIndex == -1) {
875 Log.w(TAG, "No " + mediaDescription + " line, so can't prefer " + codec); 868 Log.w(TAG, "No " + mediaDescription + " line, so can't prefer " + codec);
876 return sdpDescription; 869 return sdpDescription;
877 } 870 }
878 if (codecRtpMap == null) { 871 if (codecRtpMap == null) {
879 Log.w(TAG, "No rtpmap for " + codec); 872 Log.w(TAG, "No rtpmap for " + codec);
880 return sdpDescription; 873 return sdpDescription;
881 } 874 }
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
1130 public void onCreateFailure(final String error) { 1123 public void onCreateFailure(final String error) {
1131 reportError("createSDP error: " + error); 1124 reportError("createSDP error: " + error);
1132 } 1125 }
1133 1126
1134 @Override 1127 @Override
1135 public void onSetFailure(final String error) { 1128 public void onSetFailure(final String error) {
1136 reportError("setSDP error: " + error); 1129 reportError("setSDP error: " + error);
1137 } 1130 }
1138 } 1131 }
1139 } 1132 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698