Index: webrtc/api/android/java/src/org/webrtc/PeerConnectionFactory.java |
diff --git a/webrtc/api/android/java/src/org/webrtc/PeerConnectionFactory.java b/webrtc/api/android/java/src/org/webrtc/PeerConnectionFactory.java |
index 860c5a8d6012a44ddf5e69ff76c26d96ebc1f100..8e3e11d9b93b8bdb0fcec74a77e9110f1ce0dead 100644 |
--- a/webrtc/api/android/java/src/org/webrtc/PeerConnectionFactory.java |
+++ b/webrtc/api/android/java/src/org/webrtc/PeerConnectionFactory.java |
@@ -111,10 +111,21 @@ |
nativeCreateLocalMediaStream(nativeFactory, label)); |
} |
+ // The VideoSource takes ownership of |capturer|, so capturer.dispose() should not be called |
+ // manually after this. Video capturer is automatically started so there is no need to call |
+ // startCapture after this method. |
+ public VideoSource createVideoSource( |
+ VideoCapturer capturer, MediaConstraints constraints) { |
+ final EglBase.Context eglContext = |
+ localEglbase == null ? null : localEglbase.getEglBaseContext(); |
+ return new VideoSource(nativeCreateVideoSource(nativeFactory, |
+ eglContext, capturer, constraints)); |
+ } |
+ |
public VideoSource createVideoSource(VideoCapturer capturer) { |
final EglBase.Context eglContext = |
localEglbase == null ? null : localEglbase.getEglBaseContext(); |
- long nativeAndroidVideoTrackSource = nativeCreateVideoSource(nativeFactory, eglContext); |
+ long nativeAndroidVideoTrackSource = nativeCreateVideoSource2(nativeFactory, eglContext); |
VideoCapturer.CapturerObserver capturerObserver |
= new VideoCapturer.AndroidVideoTrackSourceObserver(nativeAndroidVideoTrackSource); |
nativeInitializeVideoCapturer(nativeFactory, capturer, nativeAndroidVideoTrackSource, |
@@ -237,6 +248,10 @@ |
long nativeFactory, String label); |
private static native long nativeCreateVideoSource( |
+ long nativeFactory, EglBase.Context eglContext, VideoCapturer videoCapturer, |
+ MediaConstraints constraints); |
+ |
+ private static native long nativeCreateVideoSource2( |
long nativeFactory, EglBase.Context eglContext); |
private static native void nativeInitializeVideoCapturer( |