| Index: webrtc/api/java/jni/peerconnection_jni.cc
|
| diff --git a/webrtc/api/java/jni/peerconnection_jni.cc b/webrtc/api/java/jni/peerconnection_jni.cc
|
| index 3997805ef97826cf807fddfb806d8cf7ca788672..f7b9e90202c7a4179f25079018f2e313aef0a947 100644
|
| --- a/webrtc/api/java/jni/peerconnection_jni.cc
|
| +++ b/webrtc/api/java/jni/peerconnection_jni.cc
|
| @@ -910,10 +910,6 @@ JOW(void, MediaSource_free)(JNIEnv*, jclass, jlong j_p) {
|
| CHECK_RELEASE(reinterpret_cast<MediaSourceInterface*>(j_p));
|
| }
|
|
|
| -JOW(void, VideoCapturer_free)(JNIEnv*, jclass, jlong j_p) {
|
| - delete reinterpret_cast<cricket::VideoCapturer*>(j_p);
|
| -}
|
| -
|
| JOW(void, VideoRenderer_freeWrappedVideoRenderer)(JNIEnv*, jclass, jlong j_p) {
|
| delete reinterpret_cast<JavaVideoRendererWrapper*>(j_p);
|
| }
|
| @@ -1216,16 +1212,27 @@ JOW(jlong, PeerConnectionFactory_nativeCreateLocalMediaStream)(
|
| }
|
|
|
| JOW(jlong, PeerConnectionFactory_nativeCreateVideoSource)(
|
| - JNIEnv* jni, jclass, jlong native_factory, jlong native_capturer,
|
| + JNIEnv* jni, jclass, jlong native_factory, jobject j_video_capturer,
|
| jobject j_constraints) {
|
| + // Create a cricket::VideoCapturer from |j_video_capturer|.
|
| + jobject j_surface_texture_helper = jni->CallObjectMethod(
|
| + j_video_capturer,
|
| + GetMethodID(jni, FindClass(jni, "org/webrtc/VideoCapturer"),
|
| + "getSurfaceTextureHelper",
|
| + "()Lorg/webrtc/SurfaceTextureHelper;"));
|
| + rtc::scoped_refptr<webrtc::AndroidVideoCapturerDelegate> delegate =
|
| + new rtc::RefCountedObject<AndroidVideoCapturerJni>(
|
| + jni, j_video_capturer, j_surface_texture_helper);
|
| + rtc::scoped_ptr<cricket::VideoCapturer> capturer(
|
| + new webrtc::AndroidVideoCapturer(delegate));
|
| + // Create a webrtc::VideoSourceInterface from the cricket::VideoCapturer,
|
| + // native factory and constraints.
|
| scoped_ptr<ConstraintsWrapper> constraints(
|
| new ConstraintsWrapper(jni, j_constraints));
|
| rtc::scoped_refptr<PeerConnectionFactoryInterface> factory(
|
| factoryFromJava(native_factory));
|
| rtc::scoped_refptr<VideoSourceInterface> source(
|
| - factory->CreateVideoSource(
|
| - reinterpret_cast<cricket::VideoCapturer*>(native_capturer),
|
| - constraints.get()));
|
| + factory->CreateVideoSource(capturer.release(), constraints.get()));
|
| return (jlong)source.release();
|
| }
|
|
|
|
|