webrtc/sdk/android
Magnus Jedvert 1a759c6354 Android: Only use Java VideoFrames internally
This CL removes internal support for anything else than Android frames
that are wrapped Java VideoFrames. This allows for a big internal
cleanup and we can remove the internal class AndroidTextureBuffer and
all logic related to that. Also, the C++ AndroidVideoTrackSource no
longer needs to hold on to a C++ SurfaceTextureHelper and we can
remove all JNI code related to SurfaceTextureHelper. Also, when these
methods are removed, it's possible to let VideoSource implement the
CapturerObserver interface directly and there is no longer any need for
AndroidVideoTrackSourceObserver. Clients can then initialize
VideoCapturers themselves outside the PeerConnectionFactory, and a new
method is added in the PeerConnectionFactory to allow clients to create
standalone VideoSources that can be connected to a VideoCapturer outside
the factory.

Bug: webrtc:9181
Change-Id: Ie292ea9214f382d44dce9120725c62602a646ed8
Reviewed-on: https://webrtc-review.googlesource.com/71666
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23004}
2018-04-24 13:51:11 +00:00
..
api/org/webrtc Android: Only use Java VideoFrames internally 2018-04-24 13:51:11 +00:00
instrumentationtests Android: Only use Java VideoFrames internally 2018-04-24 13:51:11 +00:00
native_api Increase logging for Java ADM 2018-04-24 13:50:06 +00:00
native_unittests Add unit tests for Android audio device module 2018-04-12 09:27:45 +00:00
src Android: Only use Java VideoFrames internally 2018-04-24 13:51:11 +00:00
tests/src/org/webrtc Add VideoEncoder.ScalingSettings.toString method. 2018-04-18 14:36:19 +00:00
AndroidManifest.xml Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
BUILD.gn Android: Only use Java VideoFrames internally 2018-04-24 13:51:11 +00:00
OWNERS Android: Add henrika@ as owner of audio code 2018-03-21 09:59:18 +00:00
PRESUBMIT.py Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
README Updating android/README. 2018-03-01 20:22:48 +00:00

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, make sure you have a WebRTC checkout
with Android specific parts. This can be used for linux development as well by
configuring gn appropriately, as it is a superset of the webrtc checkout:
fetch --nohooks webrtc_android
gclient sync

You also must generate GN projects with:
--args='target_os="android" target_cpu="arm"'

More information on getting the code, compiling and running the AppRTCMobile
app can be found at:
https://webrtc.org/native-code/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 src/jni/pc/.