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

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

Issue 3016443002: Android AppRTCMobile: Transition local render to new VideoSink interface (Closed)
Patch Set: Update tests Created 3 years, 3 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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 import org.webrtc.PeerConnectionFactory; 45 import org.webrtc.PeerConnectionFactory;
46 import org.webrtc.RtpParameters; 46 import org.webrtc.RtpParameters;
47 import org.webrtc.RtpReceiver; 47 import org.webrtc.RtpReceiver;
48 import org.webrtc.RtpSender; 48 import org.webrtc.RtpSender;
49 import org.webrtc.SdpObserver; 49 import org.webrtc.SdpObserver;
50 import org.webrtc.SessionDescription; 50 import org.webrtc.SessionDescription;
51 import org.webrtc.StatsObserver; 51 import org.webrtc.StatsObserver;
52 import org.webrtc.StatsReport; 52 import org.webrtc.StatsReport;
53 import org.webrtc.VideoCapturer; 53 import org.webrtc.VideoCapturer;
54 import org.webrtc.VideoRenderer; 54 import org.webrtc.VideoRenderer;
55 import org.webrtc.VideoSink;
55 import org.webrtc.VideoSource; 56 import org.webrtc.VideoSource;
56 import org.webrtc.VideoTrack; 57 import org.webrtc.VideoTrack;
57 import org.webrtc.voiceengine.WebRtcAudioManager; 58 import org.webrtc.voiceengine.WebRtcAudioManager;
58 import org.webrtc.voiceengine.WebRtcAudioRecord; 59 import org.webrtc.voiceengine.WebRtcAudioRecord;
59 import org.webrtc.voiceengine.WebRtcAudioRecord.AudioRecordStartErrorCode; 60 import org.webrtc.voiceengine.WebRtcAudioRecord.AudioRecordStartErrorCode;
60 import org.webrtc.voiceengine.WebRtcAudioRecord.WebRtcAudioRecordErrorCallback; 61 import org.webrtc.voiceengine.WebRtcAudioRecord.WebRtcAudioRecordErrorCallback;
61 import org.webrtc.voiceengine.WebRtcAudioTrack; 62 import org.webrtc.voiceengine.WebRtcAudioTrack;
62 import org.webrtc.voiceengine.WebRtcAudioTrack.WebRtcAudioTrackErrorCallback; 63 import org.webrtc.voiceengine.WebRtcAudioTrack.WebRtcAudioTrackErrorCallback;
63 import org.webrtc.voiceengine.WebRtcAudioUtils; 64 import org.webrtc.voiceengine.WebRtcAudioUtils;
64 65
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 private PeerConnection peerConnection; 117 private PeerConnection peerConnection;
117 PeerConnectionFactory.Options options = null; 118 PeerConnectionFactory.Options options = null;
118 private AudioSource audioSource; 119 private AudioSource audioSource;
119 private VideoSource videoSource; 120 private VideoSource videoSource;
120 private boolean videoCallEnabled; 121 private boolean videoCallEnabled;
121 private boolean preferIsac; 122 private boolean preferIsac;
122 private String preferredVideoCodec; 123 private String preferredVideoCodec;
123 private boolean videoCapturerStopped; 124 private boolean videoCapturerStopped;
124 private boolean isError; 125 private boolean isError;
125 private Timer statsTimer; 126 private Timer statsTimer;
126 private VideoRenderer.Callbacks localRender; 127 private VideoSink localRender;
127 private List<VideoRenderer.Callbacks> remoteRenders; 128 private List<VideoRenderer.Callbacks> remoteRenders;
128 private SignalingParameters signalingParameters; 129 private SignalingParameters signalingParameters;
129 private MediaConstraints pcConstraints; 130 private MediaConstraints pcConstraints;
130 private int videoWidth; 131 private int videoWidth;
131 private int videoHeight; 132 private int videoHeight;
132 private int videoFps; 133 private int videoFps;
133 private MediaConstraints audioConstraints; 134 private MediaConstraints audioConstraints;
134 private ParcelFileDescriptor aecDumpFileDescriptor; 135 private ParcelFileDescriptor aecDumpFileDescriptor;
135 private MediaConstraints sdpMediaConstraints; 136 private MediaConstraints sdpMediaConstraints;
136 private PeerConnectionParameters peerConnectionParameters; 137 private PeerConnectionParameters peerConnectionParameters;
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 statsTimer = new Timer(); 326 statsTimer = new Timer();
326 327
327 executor.execute(new Runnable() { 328 executor.execute(new Runnable() {
328 @Override 329 @Override
329 public void run() { 330 public void run() {
330 createPeerConnectionFactoryInternal(context); 331 createPeerConnectionFactoryInternal(context);
331 } 332 }
332 }); 333 });
333 } 334 }
334 335
335 public void createPeerConnection(final VideoRenderer.Callbacks localRender, 336 public void createPeerConnection(final VideoSink localRender,
336 final VideoRenderer.Callbacks remoteRender, final VideoCapturer videoCaptu rer, 337 final VideoRenderer.Callbacks remoteRender, final VideoCapturer videoCaptu rer,
337 final SignalingParameters signalingParameters) { 338 final SignalingParameters signalingParameters) {
338 createPeerConnection( 339 createPeerConnection(
339 localRender, Collections.singletonList(remoteRender), videoCapturer, sig nalingParameters); 340 localRender, Collections.singletonList(remoteRender), videoCapturer, sig nalingParameters);
340 } 341 }
341 public void createPeerConnection(final VideoRenderer.Callbacks localRender, 342 public void createPeerConnection(final VideoSink localRender,
342 final List<VideoRenderer.Callbacks> remoteRenders, final VideoCapturer vid eoCapturer, 343 final List<VideoRenderer.Callbacks> remoteRenders, final VideoCapturer vid eoCapturer,
343 final SignalingParameters signalingParameters) { 344 final SignalingParameters signalingParameters) {
344 if (peerConnectionParameters == null) { 345 if (peerConnectionParameters == null) {
345 Log.e(TAG, "Creating peer connection without initializing factory."); 346 Log.e(TAG, "Creating peer connection without initializing factory.");
346 return; 347 return;
347 } 348 }
348 this.localRender = localRender; 349 this.localRender = localRender;
349 this.remoteRenders = remoteRenders; 350 this.remoteRenders = remoteRenders;
350 this.videoCapturer = videoCapturer; 351 this.videoCapturer = videoCapturer;
351 this.signalingParameters = signalingParameters; 352 this.signalingParameters = signalingParameters;
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after
939 localAudioTrack.setEnabled(enableAudio); 940 localAudioTrack.setEnabled(enableAudio);
940 return localAudioTrack; 941 return localAudioTrack;
941 } 942 }
942 943
943 private VideoTrack createVideoTrack(VideoCapturer capturer) { 944 private VideoTrack createVideoTrack(VideoCapturer capturer) {
944 videoSource = factory.createVideoSource(capturer); 945 videoSource = factory.createVideoSource(capturer);
945 capturer.startCapture(videoWidth, videoHeight, videoFps); 946 capturer.startCapture(videoWidth, videoHeight, videoFps);
946 947
947 localVideoTrack = factory.createVideoTrack(VIDEO_TRACK_ID, videoSource); 948 localVideoTrack = factory.createVideoTrack(VIDEO_TRACK_ID, videoSource);
948 localVideoTrack.setEnabled(renderVideo); 949 localVideoTrack.setEnabled(renderVideo);
949 localVideoTrack.addRenderer(new VideoRenderer(localRender)); 950 localVideoTrack.addSink(localRender);
950 return localVideoTrack; 951 return localVideoTrack;
951 } 952 }
952 953
953 private void findVideoSender() { 954 private void findVideoSender() {
954 for (RtpSender sender : peerConnection.getSenders()) { 955 for (RtpSender sender : peerConnection.getSenders()) {
955 if (sender.track() != null) { 956 if (sender.track() != null) {
956 String trackType = sender.track().kind(); 957 String trackType = sender.track().kind();
957 if (trackType.equals(VIDEO_TRACK_TYPE)) { 958 if (trackType.equals(VIDEO_TRACK_TYPE)) {
958 Log.d(TAG, "Found video sender."); 959 Log.d(TAG, "Found video sender.");
959 localVideoSender = sender; 960 localVideoSender = sender;
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
1358 public void onCreateFailure(final String error) { 1359 public void onCreateFailure(final String error) {
1359 reportError("createSDP error: " + error); 1360 reportError("createSDP error: " + error);
1360 } 1361 }
1361 1362
1362 @Override 1363 @Override
1363 public void onSetFailure(final String error) { 1364 public void onSetFailure(final String error) {
1364 reportError("setSDP error: " + error); 1365 reportError("setSDP error: " + error);
1365 } 1366 }
1366 } 1367 }
1367 } 1368 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698