OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |