Commit Graph

33 Commits

Author SHA1 Message Date
9f7908e497 Roll chromium_revision ec5b768..62a5bb3 (328242:329063)
A minor code change had to be made due to
https://codereview.chromium.org/951983002

Relevant changes:
* src/buildtools: 15f5fc6..b0ede9c
Details: ec5b768..62a5bb3/DEPS

Clang version was not updated in this roll.

R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49949004

Cr-Commit-Position: refs/heads/master@{#9167}
2015-05-11 09:34:26 +00:00
352595459d Use short include paths for icu headers.
This makes it possible to build with icu located
in another absolute path.

BUG=4242
R=andresp@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46079004

Cr-Commit-Position: refs/heads/master@{#9063}
2015-04-23 06:58:02 +00:00
722ef1fb59 Remove henrike@ from OWNERS
Since he has left the team.

R=henrike@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48789004

Cr-Commit-Position: refs/heads/master@{#8913}
2015-04-01 15:08:49 +00:00
8324b525dc Adding playout volume control to WebRtcAudioTrack.java.
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}
2015-03-27 09:56:35 +00:00
Per
855acf72d0 Remove video from WebRTC Android example.
This is in preparation to remove the use of the old Video Api and the use of the old video capture module on Android in particular.

R=henrika@webrtc.org, mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44819004

Cr-Commit-Position: refs/heads/master@{#8856}
2015-03-25 13:32:30 +00:00
5506a93efd Expose ViECaptureImpl::DisconnectCaptureDevice() to JNI of WebRTCDemo and call it before releasing camera to deregister the corresponding framecallback. Also stop camera after stop remote rendering as the correct termination order.
BUG=4448
TEST=Manual Test
R=glaznev@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46649004

Cr-Commit-Position: refs/heads/master@{#8785}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8785 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-19 00:12:40 +00:00
eed2fcaa76 Roll chromium_revision 00e438c..8d51d96 (320241:320682)
Relevant changes:
* src/third_party/android_tools: fd5a8ec..98a4345
Details: 00e438c..8d51d96/DEPS

This required updating our Android projects to API level 22,
as third_party/android_tools dropped support for API level 21.

Command used:
perl -pi -e "s/android-21/android-22/g" `find . -name project.properties`
Using 'android update project' would also work but that changes the
ANDROID_SDK_ROOT -> ANDROID_HOME, which the Chromium build toolchain
doesn't set properly when build/android/envsetup.sh is sourced.

Clang version was not updated in this roll.

R=henrika@webrtc.org, perkj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42779004

Cr-Commit-Position: refs/heads/master@{#8728}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8728 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 09:00:41 +00:00
474d1eb223 Adds C++/JNI/Java unit test for audio device module on Android.
This CL adds support for unittests of the AudioDeviceModule on Android using both Java and C++. The new framework uses ::testing::TesWithParam to support both Java-based audio and OpenSL ES based audio. However, given existing issues in our OpenSL ES implementation, the list of test parameters only contains Java in this first version. Open SL ES will be enabled as soon as the backend has been refactored.

It also:

- Removes the redundant JNIEnv* argument in webrtc::VoiceEngine::SetAndroidObjects().
- Modifies usage of enable_android_opensl and the WEBRTC_ANDROID_OPENSLES define.
- Adds kAndroidJavaAudio and kAndroidOpenSLESAudio to AudioLayer enumerator.
- Fixes some bugs which were discovered when running the tests.

BUG=NONE
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/40069004

Cr-Commit-Position: refs/heads/master@{#8651}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8651 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 12:40:43 +00:00
00b8f6b364 Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
BUG=
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36229004

Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +00:00
962c62475e Refactoring WebRTC Java/JNI audio track in C++ and Java.
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
2015-02-23 11:54:41 +00:00
5a7dc39277 This is a code clean up. No functional change intended.
Consolidate the enum for capturer/frame rotation we use through out the code base.

BUG=4145
R=mflodman@webrtc.org, perkj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39859004

Cr-Commit-Position: refs/heads/master@{#8365}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8365 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 14:32:13 +00:00
58f6f01acc WebRTC now compiles for enable_android_opensl=1.
Default is enable_android_opensl=0 but we should build for OpenSL as well.

BUG=4293
R=perkj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/40719004

Cr-Commit-Position: refs/heads/master@{#8360}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8360 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 11:36:12 +00:00
62f6e75673 Refactoring WebRTC Java/JNI audio recording in C++ and Java.
This is a big refactoring of the existing C++/JNI/Java support for audio recording in native WebRTC:

- Removes unused code and old WEBRTC logging macros
- Now uses optimal sample rate and buffer size in Java AudioRecord (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)
- 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, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/33969004

Cr-Commit-Position: refs/heads/master@{#8325}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8325 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 08:39:19 +00:00
e7a4a12f83 Add arraysize() macro from Chromium, and make use of it in a few places.
This not only shortens some test code, it makes it more robust against changing
the lengths of the arrays later and forgetting to update the length constants
(which bit me).

BUG=none
TEST=none
R=hta@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34829004

Cr-Commit-Position: refs/heads/master@{#8191}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8191 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-28 21:37:13 +00:00
16825b1a82 Use int64_t more consistently for times, in particular for RTT values.
Existing code was inconsistent about whether to use uint16_t, int, unsigned int,
or uint32_t, and sometimes silently truncated one to another, or truncated
int64_t.  Because most core time-handling functions use int64_t, being
consistent about using int64_t unless otherwise necessary minimizes the number
of explicit or implicit casts.

BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org, holmer@google.com, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31349004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8045 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:51:21 +00:00
5072e0f6cd Update Android projects to API level 21.
The update in https://webrtc-codereview.appspot.com/23309004
was not enough, so this updates to 21 instead.

This is required in order to roll chromium_revision to
keep up with Chrome, as third_party/android_tools have now
dropped support for API level 20.

Commands used:
third_party/android_tools/sdk/tools/android update project --name OpenSlDemo --target android-21 --path webrtc/examples/android/opensl_loopback
third_party/android_tools/sdk/tools/android update project --name WebRTCDemo --target android-21 --path webrtc/examples/android/media_demo/
third_party/android_tools/sdk/tools/android update project --name AppRTCDemo --target android-21 --path talk/examples/android/
Then I restored the changes of the ANDROID_SDK_ROOT -> ANDROID_HOME since it seems the Chromium build toolchain doesn't set it properly when
build/android/envsetup.sh is sourced.

BUG=
R=glaznev@webrtc.org, henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25029004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7587 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 23:26:10 +00:00
8a130c1084 Update Android projects to API level 20.
This is required in order to roll chromium_revision to
keep up with Chrome, as third_party/android_tools have now
dropped support for API level 19.

Commands used:
third_party/android_tools/sdk/tools/android update project --name OpenSlDemo --target android-20 --path webrtc/examples/android/opensl_loopback
third_party/android_tools/sdk/tools/android update project --name WebRTCDemo --target android-20 --path webrtc/examples/android/media_demo/
third_party/android_tools/sdk/tools/android update project --name AppRTCDemo --target android-20 --path talk/examples/android/
Then I restored the changes of the ANDROID_SDK_ROOT -> ANDROID_HOME since it seems the Chromium build toolchain doesn't set it properly when
build/android/envsetup.sh is sourced.

BUG=
R=glaznev@webrtc.org, henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/23309004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7582 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 17:13:37 +00:00
85ef770d92 Split video engine android initialization into each internal module initialization.
This is to later on allow targets to pick at link time if to include the external or internal implementation. In order to do that the video_engine cannot compile different based on which option is picked later on.

BUG=3768,3770
R=glaznev@webrtc.org, stefan@webrtc.org
TBR=henrike@webrtc.org, mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25529004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7208 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 11:44:51 +00:00
49fa212bcd Fix compile error on JDK 1.7.
JDK 1.7 gives an error like this:
warning: [static] static method should be qualified by type name

R=pbos@webrtc.org
TBR=henrike@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/29399004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7133 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-10 12:35:59 +00:00
b96ea2aab5 Remove former team members from OWNERS and WATCHLISTS
Remove the following (CCed) former team members from all
OWNERS files and the WATCHLISTS file:
* fischman@
* leozwang@
* mikhal@
* pwestin@
* wu@

BUG=
R=henrike@webrtc.org, niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/22509004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6973 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 06:12:08 +00:00
9c89e932c9 WebRTCDemo: set local SSRC for loopback test, otherwise receiver would reset it due to ssrc clash, which would cause delayed remote rendering.
(Including another fix here, https://review.webrtc.org/16779004/, to make the test run)

BUG=3500
TEST=Manual Test
R=glaznev@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13819004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6587 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 05:59:22 +00:00
9512719569 AppRTCDemo(android): support app (UI) & capture rotation.
Now app UI rotates as the device orientation changes, and the captured stream
tries to maintain real-world-up, matching Chrome/Android and Hangouts/Android
behavior.

BUG=2432
R=glaznev@webrtc.org, henrike@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15689005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6354 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 18:40:44 +00:00
1a79bb8d30 WebRTCDemo: clean the error message due to API clean up and add ability to route the audio through all three outputs, headset/earpiece/loudspeaker
BUG=3366
TEST=Manual Test
R=fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17559004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6207 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 03:37:45 +00:00
7cb4752184 WebRTCDemo: couldn't run a second time. The reason is voe could register/unregister for each run, but vie would expect initialization only once per process.
This cl is to teach videocapture android how to deinitialize and allow it to be re-initializable.

BUG=3284
TEST=ManualTest
R=fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15429004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6167 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-15 03:18:15 +00:00
633aff6bd0 WebRTCDemo: correct set trace filter operation.
BUG=3285
TEST=Manul Test
R=fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17389004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6051 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-05 04:24:47 +00:00
8f69330310 Replace scoped_array<T> with scoped_ptr<T[]>.
scoped_array is deprecated. This was done using a Chromium clang tool:
http://src.chromium.org/viewvc/chrome/trunk/src/tools/clang/rewrite_scoped_ar...

except for the few not-built-on-Linux files which were updated manually.

TESTED=trybots
BUG=2515
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12429004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5985 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-25 23:10:28 +00:00
f4c9444c65 VideoCaptureAndroid: stop referencing ViERenderer
To facilitate building video_capture's java code without video_render's java
code this reorganizes the local-preview hack to be driven by MediaEngine.
This is the "first step" in the linked bug.

BUG=3175
R=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11349004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5865 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-08 22:55:07 +00:00
57f6c10d00 Android, WebRTCDemo: fixes crash issue when pressing switch camera button on devices with only one camera.
BUG=2807(second issue)
R=fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7579004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5429 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-24 18:42:12 +00:00
91db93d24f Android, fixes crash on devices with only front cameras.
BUG=2807
R=fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7429004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5415 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-22 21:31:24 +00:00
32c26eb90b Android, OpenSlDemo: moved to webrtc/examples/android/opensl_loopback
BUG=N/A
R=andrew@webrtc.org, fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7269004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5400 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-17 23:12:51 +00:00
0af1ffa84d Android, WebRTCDemo: fix issue where changing remote IP was not working properly.
BUG=2783
R=fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7209004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5396 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-16 16:45:15 +00:00
dde7aee40f WebRTCDemo: fix out-of-bounds array read.
Also removed the WebRtcCamera class, which has become an empty wrapper around
CameraInfo in the post-rewrite world.

First pointed out by Jeremy Mao <yujie.mao@webrtc.org> in
http://review.webrtc.org/6869004/

R=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7079004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5377 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-13 22:15:38 +00:00
451745ec05 Complete rewrite of demo application.
BUG=2122
R=andrew@webrtc.org, fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3669004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5273 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-12 16:55:37 +00:00