webrtc/sdk/android
Bjorn Mellem a9bbd86849 Add a configuration parameter for using the media transport for data channels.
Adds a field |use_media_transport_for_data_channels| to RTCConfiguration.
PeerConnection requires a media transport factory to be set if this bit
is set.  As with |use_media_transport|, the value may not be modified
after setting the local or remote description.

If either |use_media_transport| or |use_media_transport_for_data_channel| is
set, PeerConnection uses its media transport factory when creating a JSEP
transport controller.

PeerConnection stops unconditionally using media transport in
CreateVoiceChannel, as it may be present only for use in data channels.  It uses
the media transport if it is present and |use_media_transport| is set.

Bug: webrtc:9719
Change-Id: I59d4ce8f7531fd19d9c17eefe033f063f663ebcc
Reviewed-on: https://webrtc-review.googlesource.com/c/109041
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25507}
2018-11-05 21:05:22 +00:00
..
api/org/webrtc Add a configuration parameter for using the media transport for data channels. 2018-11-05 21:05:22 +00:00
instrumentationtests Implement Injectable Audio Codecs for the Java SDK. 2018-11-02 08:25:39 +00:00
native_api Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
native_unittests Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer." 2018-11-01 04:46:02 +00:00
src Add a configuration parameter for using the media transport for data channels. 2018-11-05 21:05:22 +00:00
tests/src/org/webrtc Promotoing webrtc::CryptoOptions to RTCConfiguration. 2018-10-25 17:59:48 +00:00
AndroidManifest.xml Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
BUILD.gn Implement Injectable Audio Codecs for the Java SDK. 2018-11-02 08:25:39 +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/.