Reason for revert: Updated signature to work with other JNI versions. We would need to compile it differently in order to catch failures like this in WebRTC in the future. Original issue's description: > Revert of Android: Add FramerateRange class (patchset #2 id:60001 of https://codereview.webrtc.org/2010763003/ ) > > Reason for revert: > Breaks downstream Android tests: > java.lang.NoSuchFieldError: no field with name='framerate' signature='org/webrtc/CameraEnumerationAndroid$CaptureFormat$FramerateRange' in class Lorg/webrtc/CameraEnumerationAndroid$CaptureFormat; > > We should have a similar test in WebRTC so we can catch such errors pre-commit. > > Original issue's description: > > Android: Add FramerateRange class > > > > The Camera1 and Camera2 API use different framerate range types. Camera1 > > uses int[2] and Camera2 uses Range<Integer>. Range<Integer> is > > unfortunately only available on Lollipop and later, so this CL adds a > > similar FramerateRange class in CaptureFormat. > > > > The purpose with this CL is to have a common framerate range type that can > > be reused from both Camera1 and Camera2 in helper functions such as > > CameraEnumerationAndroid.getClosestSupportedFramerateRange(). > > > > BUG=webrtc:5519 > > R=sakal@webrtc.org > > > > Committed: https://crrev.com/94cb67d6df1a78e7fa25e469f719c1a8809dc583 > > Cr-Commit-Position: refs/heads/master@{#12942} > > TBR=sakal@webrtc.org,magjed@webrtc.org > NOTRY=True > BUG=webrtc:5519 > > Committed: https://crrev.com/bd5621f065fd25e0a77307f10dc9ddaf76e7945f > Cr-Commit-Position: refs/heads/master@{#12956} TBR=sakal@webrtc.org,kjellander@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:5519 Review-Url: https://codereview.webrtc.org/2019333002 Cr-Commit-Position: refs/heads/master@{#12957}
This directory contains an example Android client for https://appr.tc Prerequisites: - "Getting the code" on http://www.webrtc.org/native-code/android - Set up webrtc-related GYP variables: export GYP_DEFINES="OS=android $GYP_DEFINES" - When targeting both desktop & android, make sure to use a different output_dir value in $GYP_GENERATOR_FLAGS - for example export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_android" or you'll likely end up with mismatched ARM & x86 output artifacts. If you use an output_dir other than out/ make sure to modify the command-lines below appropriately. - Finally, run "gclient runhooks" to generate Android-targeting .ninja files. Example of building & using the app: cd <path/to/webrtc>/src ninja -C out/Debug AppRTCDemo adb install -r out/Debug/apks/AppRTCDemo.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