This CL makes the WebRTC Java Wrapper more modular and allows the android users to build WebRTC without audio and video(DataChannel only). The BUILD file in sdk/android/ is modified to support modular WebRTC. The peerconnection_jni.cc is split into peerconnection_jni.cc, video_jni.cc, video_renderer_jni.cc and ownedfactoryandthreads.h/cc. Add new modular build targets to JNI layer: audio_jni, video_jni, null_audio_jni, null_video_jni. The users can link with different targets to for different WebRTC functionalities. This is split from CL: https://codereview.webrtc.org/2854123003/ TBR=magjed@webrtc.org BUG=webrtc:7613 Review-Url: https://codereview.webrtc.org/2939203002 Cr-Commit-Position: refs/heads/master@{#18647}
This directory holds a Java implementation of the webrtc::PeerConnection API, as
well as the JNI glue C++ code that lets the Java implementation reuse the C++
implementation of the same API.
To build the Java API and related tests, generate GN projects with:
--args='target_os="android"'
To use the Java API, start by looking at the public interface of
org.webrtc.PeerConnection{,Factory} and the org.webrtc.PeerConnectionTest.
To understand the implementation of the API, see the native code in jni/.