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

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

Issue 1452423003: Add option to capture to texture in AppRTCDemo for Android. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: factory.setVideoHwAccelerationOptions. Created 5 years 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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 */ 126 */
127 public static class PeerConnectionParameters { 127 public static class PeerConnectionParameters {
128 public final boolean videoCallEnabled; 128 public final boolean videoCallEnabled;
129 public final boolean loopback; 129 public final boolean loopback;
130 public final int videoWidth; 130 public final int videoWidth;
131 public final int videoHeight; 131 public final int videoHeight;
132 public final int videoFps; 132 public final int videoFps;
133 public final int videoStartBitrate; 133 public final int videoStartBitrate;
134 public final String videoCodec; 134 public final String videoCodec;
135 public final boolean videoCodecHwAcceleration; 135 public final boolean videoCodecHwAcceleration;
136 public final boolean captureToTexture;
136 public final int audioStartBitrate; 137 public final int audioStartBitrate;
137 public final String audioCodec; 138 public final String audioCodec;
138 public final boolean noAudioProcessing; 139 public final boolean noAudioProcessing;
139 public final boolean useOpenSLES; 140 public final boolean useOpenSLES;
140 141
141 public PeerConnectionParameters( 142 public PeerConnectionParameters(
142 boolean videoCallEnabled, boolean loopback, 143 boolean videoCallEnabled, boolean loopback,
143 int videoWidth, int videoHeight, int videoFps, int videoStartBitrate, 144 int videoWidth, int videoHeight, int videoFps, int videoStartBitrate,
144 String videoCodec, boolean videoCodecHwAcceleration, 145 String videoCodec, boolean videoCodecHwAcceleration, boolean captureToTe xture,
145 int audioStartBitrate, String audioCodec, 146 int audioStartBitrate, String audioCodec,
146 boolean noAudioProcessing, boolean useOpenSLES) { 147 boolean noAudioProcessing, boolean useOpenSLES) {
147 this.videoCallEnabled = videoCallEnabled; 148 this.videoCallEnabled = videoCallEnabled;
148 this.loopback = loopback; 149 this.loopback = loopback;
149 this.videoWidth = videoWidth; 150 this.videoWidth = videoWidth;
150 this.videoHeight = videoHeight; 151 this.videoHeight = videoHeight;
151 this.videoFps = videoFps; 152 this.videoFps = videoFps;
152 this.videoStartBitrate = videoStartBitrate; 153 this.videoStartBitrate = videoStartBitrate;
153 this.videoCodec = videoCodec; 154 this.videoCodec = videoCodec;
154 this.videoCodecHwAcceleration = videoCodecHwAcceleration; 155 this.videoCodecHwAcceleration = videoCodecHwAcceleration;
156 this.captureToTexture = captureToTexture;
155 this.audioStartBitrate = audioStartBitrate; 157 this.audioStartBitrate = audioStartBitrate;
156 this.audioCodec = audioCodec; 158 this.audioCodec = audioCodec;
157 this.noAudioProcessing = noAudioProcessing; 159 this.noAudioProcessing = noAudioProcessing;
158 this.useOpenSLES = useOpenSLES; 160 this.useOpenSLES = useOpenSLES;
159 } 161 }
160 } 162 }
161 163
162 /** 164 /**
163 * Peer connection events. 165 * Peer connection events.
164 */ 166 */
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 Log.d(TAG, "Create peer connection."); 424 Log.d(TAG, "Create peer connection.");
423 425
424 Log.d(TAG, "PCConstraints: " + pcConstraints.toString()); 426 Log.d(TAG, "PCConstraints: " + pcConstraints.toString());
425 if (videoConstraints != null) { 427 if (videoConstraints != null) {
426 Log.d(TAG, "VideoConstraints: " + videoConstraints.toString()); 428 Log.d(TAG, "VideoConstraints: " + videoConstraints.toString());
427 } 429 }
428 queuedRemoteCandidates = new LinkedList<IceCandidate>(); 430 queuedRemoteCandidates = new LinkedList<IceCandidate>();
429 431
430 if (videoCallEnabled) { 432 if (videoCallEnabled) {
431 Log.d(TAG, "EGLContext: " + renderEGLContext); 433 Log.d(TAG, "EGLContext: " + renderEGLContext);
432 factory.setVideoHwAccelerationOptions(renderEGLContext); 434 factory.setVideoHwAccelerationOptions(renderEGLContext, renderEGLContext);
433 } 435 }
434 436
435 PeerConnection.RTCConfiguration rtcConfig = 437 PeerConnection.RTCConfiguration rtcConfig =
436 new PeerConnection.RTCConfiguration(signalingParameters.iceServers); 438 new PeerConnection.RTCConfiguration(signalingParameters.iceServers);
437 // TCP candidates are only useful when connecting to a server that supports 439 // TCP candidates are only useful when connecting to a server that supports
438 // ICE-TCP. 440 // ICE-TCP.
439 rtcConfig.tcpCandidatePolicy = PeerConnection.TcpCandidatePolicy.DISABLED; 441 rtcConfig.tcpCandidatePolicy = PeerConnection.TcpCandidatePolicy.DISABLED;
440 rtcConfig.bundlePolicy = PeerConnection.BundlePolicy.MAXBUNDLE; 442 rtcConfig.bundlePolicy = PeerConnection.BundlePolicy.MAXBUNDLE;
441 rtcConfig.rtcpMuxPolicy = PeerConnection.RtcpMuxPolicy.REQUIRE; 443 rtcConfig.rtcpMuxPolicy = PeerConnection.RtcpMuxPolicy.REQUIRE;
442 // Use ECDSA encryption. 444 // Use ECDSA encryption.
(...skipping 12 matching lines...) Expand all
455 457
456 mediaStream = factory.createLocalMediaStream("ARDAMS"); 458 mediaStream = factory.createLocalMediaStream("ARDAMS");
457 if (videoCallEnabled) { 459 if (videoCallEnabled) {
458 String cameraDeviceName = CameraEnumerationAndroid.getDeviceName(0); 460 String cameraDeviceName = CameraEnumerationAndroid.getDeviceName(0);
459 String frontCameraDeviceName = 461 String frontCameraDeviceName =
460 CameraEnumerationAndroid.getNameOfFrontFacingDevice(); 462 CameraEnumerationAndroid.getNameOfFrontFacingDevice();
461 if (numberOfCameras > 1 && frontCameraDeviceName != null) { 463 if (numberOfCameras > 1 && frontCameraDeviceName != null) {
462 cameraDeviceName = frontCameraDeviceName; 464 cameraDeviceName = frontCameraDeviceName;
463 } 465 }
464 Log.d(TAG, "Opening camera: " + cameraDeviceName); 466 Log.d(TAG, "Opening camera: " + cameraDeviceName);
465 videoCapturer = VideoCapturerAndroid.create(cameraDeviceName, null); 467 videoCapturer = VideoCapturerAndroid.create(cameraDeviceName, null,
468 peerConnectionParameters.captureToTexture ? renderEGLContext : null );
466 if (videoCapturer == null) { 469 if (videoCapturer == null) {
467 reportError("Failed to open camera"); 470 reportError("Failed to open camera");
468 return; 471 return;
469 } 472 }
470 mediaStream.addTrack(createVideoTrack(videoCapturer)); 473 mediaStream.addTrack(createVideoTrack(videoCapturer));
471 } 474 }
472 475
473 mediaStream.addTrack(factory.createAudioTrack( 476 mediaStream.addTrack(factory.createAudioTrack(
474 AUDIO_TRACK_ID, 477 AUDIO_TRACK_ID,
475 factory.createAudioSource(audioConstraints))); 478 factory.createAudioSource(audioConstraints)));
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 public void onCreateFailure(final String error) { 1045 public void onCreateFailure(final String error) {
1043 reportError("createSDP error: " + error); 1046 reportError("createSDP error: " + error);
1044 } 1047 }
1045 1048
1046 @Override 1049 @Override
1047 public void onSetFailure(final String error) { 1050 public void onSetFailure(final String error) {
1048 reportError("setSDP error: " + error); 1051 reportError("setSDP error: " + error);
1049 } 1052 }
1050 } 1053 }
1051 } 1054 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698