
Also adds a framework for an AudioManager to be used by both sides (playout and recording). This initial implementation only does very simple tasks like setting up the correct audio mode (needed for correct volume behavior). Note that this CL is mainly about modifying the volume. The added AudioManager is only a place holder for future work. I could have done the same parts in the WebRtcAudioTrack class but feel that it is better to move these parts to an AudioManager already at this stage. The AudioManager supports Init() where actual audio changes are done (set audio mode etc.) but it can also be used a simple "construct-and-store-audio-parameters" unit, which is the case here. Hence, the AM now serves as the center for getting audio parameters and then inject these into playout and recording sides. Previously, both sides acquired their own parameters and that is more error prone. BUG=NONE TEST=AudioDeviceTest R=perkj@webrtc.org, phoglund@webrtc.org Review URL: https://webrtc-codereview.appspot.com/45829004 Cr-Commit-Position: refs/heads/master@{#8875}
This directory contains an app for measuring the total delay from the native OpenSL implementation. Note that it just loops audio back from mic to speakers. 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> enable_android_opensl=1" - Finally, run "gclient runhooks" to generate Android-targeting .ninja files. Example of building & using the app: cd <path/to/repository>/trunk ninja -C out/Debug OpenSlDemo adb install -r out/Debug/OpenSlDemo-debug.apk