webrtc/examples/androidapp
Jesús Leganés-Combarro 'piranna ffbfba979f Added PeerConnectionObserverJni::OnRemoveTrack()
Change-Id: I0880caa77a1097f56c560152e85c9ca29242f825

This PR add support for the `PeerConnectionObserverJni::OnRemoveTrack()`
event on Java, allowing to be notified when a remote track has been
removed. It's a very thing JNI wrapper on top of C++ API, being mostly
similar to other already available events like `track` and `addTrack`.

In Javascript API, tracks are not "removed" explicitly from the
PeerConnection, but instead receiver PeerConnection gets notified that
they have been removed from the streams they are associated to, and when
no `MediaStream` object has that track, it's considered that the track
has been removed from the PeerConnection. In Java and C++ APIs there's no
`MediaStreamObserver` class, so there's no way to listen to the
`removeTrack` event the same way happens in Javascript API, but instead
C++ API has a `removeTrack` event at PeerConnection level. This patchset
just only wraps and expose this `removeTrack` event from the C++ API to
the Java API.

This PR has been sponsored by Atos Research and Innovation
(https://atos.net/en/about-us/innovation-and-research).

Bug: webrtc:12850
Change-Id: I0880caa77a1097f56c560152e85c9ca29242f825
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218847
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34225}
2021-06-03 19:24:55 +00:00
..
res Reland "Expose AV1 encoder&decoder from Android SDK." 2021-04-30 09:12:11 +00:00
src/org/appspot/apprtc Added PeerConnectionObserverJni::OnRemoveTrack() 2021-06-03 19:24:55 +00:00
third_party/autobanh Add is_android guard to all Android rule usages. 2018-07-23 08:25:43 +00:00
AndroidManifest.xml Roll chromium_revision 4d95e6c77b..71a0e1904e (776481:782339) 2020-06-26 05:33:14 +00:00
ant.properties Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
build.xml Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
OWNERS Change from sakal@webrtc.org to xalep@webrtc.org in OWNERS files. 2021-04-14 08:27:54 +00:00
project.properties Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
README Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
start_loopback_stubbed_camera_saved_video_out.py Reformat python files checked by pylint (part 1/2). 2020-10-30 10:13:11 +00:00

This directory contains an example Android client for https://appr.tc

Prerequisites:
- "Getting the code", "Compiling", and "Using the Bundled Android SDK/NDK"
  on http://www.webrtc.org/native-code/android

Example of building & using the app:

cd <path/to/webrtc>/src
ninja -C out/Default AppRTCMobile
adb install -r out/Default/apks/AppRTCMobile.apk

In desktop chrome, navigate to https://appr.tc and note the r=<NNN> room
this redirects to or navigate directly to https://appr.tc/r/<NNN> with
your own room number. Launch AppRTC on the device and add same <NNN> into the room name list.

You can also run application from a command line to connect to the first room in a list:
adb shell am start -n org.appspot.apprtc/.ConnectActivity -a android.intent.action.VIEW
This should result in the app launching on Android and connecting to the 3-dot-apprtc
page displayed in the desktop browser.
To run loopback test execute following command:
adb shell am start -n org.appspot.apprtc/.ConnectActivity -a android.intent.action.VIEW --ez "org.appspot.apprtc.LOOPBACK" true