This CL is part II in a major refactoring effort. See https://webrtc-codereview.appspot.com/33969004 for part I. - Removes unused code and old WEBRTC logging macros - Now uses optimal sample rate and buffer size in Java AudioTrack (used hard-coded sample rate before) - Makes code more inline with the implementation in Chrome - Adds helper methods for JNI handling to improve readability - Changes the threading model (high-prio audio thread now lives in Java-land and C++ only works as proxy) - Simplified the delay estimate - Adds basic thread checks - Removes all locks in C++ land - Removes all locks in Java - Improves construction/destruction - Additional cleanup Tested using AppRTCDemo and WebRTCDemo APKs on N6, N5, N7, Samsung Galaxy S4 and Samsung Galaxy S4 mini (which uses 44.1kHz as native sample rate). BUG=NONE R=magjed@webrtc.org, perkj@webrtc.org Review URL: https://webrtc-codereview.appspot.com/39169004 Cr-Commit-Position: refs/heads/master@{#8460} git-svn-id: http://webrtc.googlecode.com/svn/trunk@8460 4adac7df-926f-26a2-2b94-8c16560cd09d
This directory contains a sample app for sending and receiving video and audio on Android. It further lets you enable and disable some call quality enhancements such as echo cancellation, noise suppression etc. Prerequisites: - Make sure gclient is checking out tools necessary to target Android: your .gclient file should contain a line like: target_os = ['android'] Make sure to re-run gclient sync after adding this to download the tools. - Env vars need to be set up to target Android; easiest way to do this is to run (from the libjingle trunk directory): . ./build/android/envsetup.sh Note that this clobbers any previously-set $GYP_DEFINES so it must be done before the next item. - Set up webrtc-related GYP variables: export GYP_DEFINES="$GYP_DEFINES java_home=</path/to/JDK>" - Finally, run "gclient runhooks" to generate Android-targeting .ninja files. Example of building the app: cd <path/to/repository>/trunk ninja -C out/Debug WebRTCDemo It can then be installed and run on the device: adb install -r out/Debug/WebRTCDemo-debug.apk