webrtc/sdk/android
Niels Möller 67309ef93c Add release callback and reference count to java EncodedImage class
Callback set by HardwareVideoEncoder, and wired to the codec's
releaseOutputBuffer. Intention is to move call of this method to the
destructor of a corresponding C++ class in a followup cl, and
eliminate an allocation and memcpy in the process.

Bug: webrtc:9378
Change-Id: I578480b63b68e6ac7a96cdde36379b3c50f05c3f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142160
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29283}
2019-09-24 12:26:09 +00:00
..
api/org/webrtc Add release callback and reference count to java EncodedImage class 2019-09-24 12:26:09 +00:00
instrumentationtests Implement JNI and objc implementation for Ice Candidate Pair Change event surfacing 2019-08-12 23:58:50 +00:00
native_api Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
native_unittests Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
src Add release callback and reference count to java EncodedImage class 2019-09-24 12:26:09 +00:00
tests Reland "Raise IllegalStateException for calls to retain() or release() on zero ref count" 2019-06-25 14:42:55 +00:00
AndroidManifest.xml Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
BUILD.gn New build target api:media_interface 2019-09-19 09:32:27 +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/.