Commit Graph

117 Commits

Author SHA1 Message Date
cf1b51b6fb Moves the display reconfiguration callback into a separate class,
so that it can be shared with the cursor monitor when single monitor capturing
is added (https://webrtc-codereview.appspot.com/4679005/).
This Cl should have no functionality change.

BUG=2253
R=henrike@webrtc.org, sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5461 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-29 21:59:12 +00:00
3907c2e7e5 Removes the remaining uses of the list wrapper class and the list wrapper class.
BUG=2164
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5378 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-13 22:41:34 +00:00
7fb75ecbd4 Add thread_annotations for clang targets.
TESTED: As expected clang bots catched a few issues which are fixed with this CL, other bots ignore the annotations and compile fine.

R=niklas.enbom@webrtc.org, phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5328 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-20 20:20:50 +00:00
5ab756703e Revert r5294 to re-roll r5293.
To fix races in test each stream now owns its own encoder/decoder.

R=mflodman@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5297 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 12:24:44 +00:00
41e2615e02 Revert 5293 "Auto instantiate RBE depending on whether AST or TO..."
> Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
> 
> BUG=
> R=mflodman@webrtc.org, stefan@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/5409004

TBR=solenberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5294 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-15 18:42:32 +00:00
341e91441a Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 23:57:54 +00:00
f9bdbe3619 Roll chromium_revision 232627:238260
This brings us the updated swarming_client
that has moved out from Chromium into a standalone
project.
Because of this, all .isolate files needed to be
updated as well, similar to the changes in
https://codereview.chromium.org/29993003

TEST=trybots passing
BUG=none
R=andrew@webrtc.org, perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5260 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 13:37:12 +00:00
863b536100 Allow opening an AEC dump from an existing file handle.
This is necessary for Chromium to be able enable the dump with the sanbox enabled. It will open the file in the browser process and pass the handle to the render process.

This changes FileWrapper to deal with the case were the file handle is not managed by the wrapper.

BUG=2567
R=andrew@webrtc.org, henrika@webrtc.org, perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5239 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-06 16:05:17 +00:00
c49d5b7df8 Move implementation files out of the webrtc/ root.
Leaves the root for public headers. Also fixes the issue of requiring
root OWNERS approval for changes in the Call implementation and adding
end-to-end tests.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5223 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-05 12:11:47 +00:00
57eb858698 Remove ".." from include_dirs in build/common.
BUG=1662
TEST=compile on trybots
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5107 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 10:20:27 +00:00
5973f3a24a Remove unneeded includes from trace_posix.cc.
TESTED=trybots
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5103 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-08 17:30:07 +00:00
bff9620116 Fix log build error for Chromium builds.
This only happens when building in Chromium. Can't roll due to this.

../../third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_x11.cc: In function 'Window {anonymous}::GetTopLevelWindow(Display*, Window)':
../../third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_x11.cc:39:7: error: 'LS_INFO' was not declared in this scope
../../third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_x11.cc:39:7: note: suggested alternative:
../../third_party/webrtc/system_wrappers/interface/logging.h:71:29: note:   'webrtc::LS_INFO'

See for example http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20%5Blatest%20WebRTC%2Blibjingle%5D/builds/3039/steps/compile/logs/stdio

R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5100 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-08 10:37:27 +00:00
f1a48174d4 Replace disabled logging with a restricted logging mode.
This will enable some low-level webrtc logging in a Chromium build,
while limiting the binary size impact.

For a Mac Release build, it results in an increase to Chrome.app of 37k
and libpeerconnection.so of 25k. For comparison, enabling full logs
costs 230k and 218k respectively.

BUG=b/11470432
TESTED=voe_cmd_test produces logs of the appropriate severity.
R=fischman@webrtc.org, henrikg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5097 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-07 23:47:26 +00:00
de748c806c Remove unused make_scoped_ptr which causes an "ambiguous" error with chromium build.
TEST=build
R=andrew@webrtc.org, fischman@webrtc.org
TBR=andrew

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5059 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-30 20:43:27 +00:00
b3731da68f Prefix MOVE_ONLY_TYPE_FOR_CPP_03 with WEBRTC_.
Will fix a redefinition error in Chromium against webrtc head.

TESTED=trybots
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5029 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-24 15:16:53 +00:00
d1bcf1180a Check if WARN_UNUSED_RESULT and COMPILE_ASSERT are defined.
Works around a multiple definition error from webrtc and libjingle.

Corresponds to the libjingle change here:
https://critique.corp.google.com/#review/55489575-p10

TESTED=trybots
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5025 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-23 19:11:32 +00:00
31628aae7e Upgrade scoped_ptr to Chromium's latest version.
Analogous to the recent libjingle change: http://cl/54929753-p10.
This supports scoped_ptr<T[]> and scoped_ptr<C, FreeDeleter> rather
than scoped_array and scoped_ptr_malloc respectively.

- Add Chromium's template-based COMPILE_ASSERT. We didn't have this
previously in order to support the macro in C. Instead, move the
existing macro to compile_assert_c.h.
- Additionally copy the move.h and template_util.h depedencies and add
the WARN_UNUSED_RESULT macro.
- Leave scoped_array and scoped_ptr_malloc for now, but mark as
deprecated.
- Remove scoped_ptr foo(NULL) use. The default constructor handles it.
- Remove the now redundant COMPILE_ASSERT from peerconnection_jni.cc.
- Add a CHECK_ARRAY_SIZE macro to rtp_format_vp8_unittest.cc to remove
some repeated code.

TESTED=trybots
R=pbos@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5015 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 12:50:00 +00:00
e7009f3b0d Revert "Disable tests for TSan v2"
This reverts r4787 since r4966 got us a newer Clang
version with these issues fixed.

BUG=2259,2334
TEST=test_support_unittests and system_wrappers_unittests passed execution under TSan v2 for 100 iterations:
GYP_DEFINES='tsan=1 linux_use_tcmalloc=0 release_extra_cflags="-gline-tables-only"' gclient runhooks
ninja -C out/Release test_support_unittests system_wrappers_unittests

TSAN_OPTIONS="suppressions=tools/valgrind-webrtc/tsan_v2/suppressions.txt print_suppressions=1 report_signal_unsafe=0 report_thread_leaks=0 history_size=7" out/Release/system_wrappers_unittests --gtest_repeat=100 --gtest_break_on_failure

TSAN_OPTIONS="suppressions=tools/valgrind-webrtc/tsan_v2/suppressions.txt print_suppressions=1 report_signal_unsafe=0 report_thread_leaks=0 history_size=7" out/Release/test_support_unittests --gtest_repeat=100 --gtest_break_on_failure
R=hta@webrtc.org, perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4974 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-16 12:26:48 +00:00
5ed4f46af1 Remove TSan v2 disabled test in condition_variable_unittest.cc
When we rolled our chromium_revision 226126:228675 in r4966
we picked up Clang r191856, which fixes the problem we've
seen earlier in condition_variable_unittest.cc.
Because of this, I'm now re-enabling this test.

TEST=trybots passing
BUG=2259
R=hta@webrtc.org, perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4971 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-16 10:50:41 +00:00
3f9288f987 Add APK and isolate target for video_engine_tests
Add .isolate file and _run target for video_engine_tests.

Move tools/swarm_client to be untracked in all .isolate file,
so refactorings in swarm_client doesn't require us updating
all our .isolate files (similar to the changes for the
Chromium tests done in:
https://src.chromium.org/viewvc/chrome?view=rev&revision=218844)

Update modules_unittests.isolate with new NetEq4 reference files
needed.

TEST=trybots passing
I also setup a Chromium workspace where I patched third_party/webrtc
with the changes in this CL, followed by compiling with the settings
described in
https://code.google.com/p/webrtc/issues/detail?id=1882#c11
I then verified that the video_engine_tests_apk dir was created
in the output folder.
BUG=1916,2462
R=andrew@webrtc.org, henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4925 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-04 18:20:38 +00:00
4e65e07e41 VideoCaptureAndroid: rewrote the (standalone) implementation of video capture on Android.
Besides being ~40% the size of the previous implementation, this makes it so
that VideoCaptureAndroid can stop and restart capture, which is necessary to
support onPause/onResume reasonably on Android.

BUG=1407
R=henrike@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4915 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 18:23:13 +00:00
2a97317953 Fix include of isolate.gypi
Recent changes in GYP seem to have broken our previous
"hack" for getting the GYP rule for .isolate files
imported from the Chromium build/isolate.gypi.

The best solution for now is to remove the hack
and check in a copy of Chromium's src/build/isolate.gypi
in WebRTC's build/ dir instead. A similar approach is
used for our build/protoc.gypi file.

TEST=On Linux, I successfully ran:
gclient runhooks
ninja -C out/Release
and verified a bunch of .isolated files were created in
out/Release (which didn't happen before this patch).

I also renamed the build/isolate.gypi from Chromium to
ensure that our own is used and not that one (in case any
paths would be incorrect).

I also ran build/gyp_chromium in a Chromium checkout
with WebRTC in third_party/webrtc having this patch applied
to ensure GYP processing was still working.

Finally, I verified that the same project generation and
compilation from a Chromium checkout worked the way we build
our Android native tests, using:
. build/android/envsetup.sh
GYP_DEFINES="$GYP_DEFINES include_tests=1 enable_tracing=1" gclient runhooks
ninja -C out/Release android_builder_webrtc

BUG=1916
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4907 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-02 19:31:16 +00:00
c0167702d3 Stop timer in ~EventWindows().
Running out of handles seems to have been an issue when adding another
test target, this should solve it.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4897 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-02 13:11:15 +00:00
7e4d0df8ee PeerConnection(Android): enable tracing to logcat.
BUG=1295
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4888 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 02:40:43 +00:00
d8a9b86671 Disable tests for TSan v2
These are tests that fail and that I haven't been able to suppress.
I assume they're caused by the same bug in TSan v2 as described in
webrtc:2259.

BUG=2259,2334
TEST=Ran the tests similar to the instructions in the bugs, passed 100 iterations.
R=andrew@webrtc.org, hta@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4787 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-19 07:15:36 +00:00
82f014aa0b OpenSL (not default): Enables low latency audio on Android.
BUG=1669
R=andrew@webrtc.org, fischman@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4719 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-10 18:24:07 +00:00
9080518a39 Restore severity precondition to logging.h.
I mistakenly ommitted the checks when logging.h was ported from
libjingle to webrtc. This caused a significant CPU cost for logs which
were later filtered out anyway.

Verified with LS_VERBOSE logging in neteq4, running:
$ out/Release/modules_unittests \
--gtest_filter=NetEqDecodingTest.TestBitExactness \
--gtest_repeat=50 > time.txt
$ grep "case ran" time.txt | grep "[0-9]* ms" -o | sort

Results on a MacBook Retina, averaged over 5 runs:
Verbose logs disabled:                          666 ms
Exisiting implementation, verbose logs enabled: 944 ms (1.42x)
New implementation, verbose logs enabled:       673 ms (1.01x)

BUG=2314
R=henrik.lundin@webrtc.org, henrike@webrtc.org, kjellander@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4682 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 16:40:43 +00:00
f8c16b8bf4 Disabling CondVarTest for TSan v2 (take 2)
This test goes into an eternal loop sometimes when run under
TSan v2, therefore I'm disabling it until this is resolved.
Doing that, the TSan v2 bot in our new WebRTC FYI waterfall at
http://build.chromium.org/p/client.webrtc.fyi/waterfall
will hopefully go green.

The define used only exists for TSan v2, so v1 should be
unaffected.

The suppression added in http://review.webrtc.org/2126005/
turns out actually has no effect, so I'm removing it again.
It's probably useless since TSan v2 obviously alters the code's
behavior, causing these errors. Since the errors are not TSan v2
failures, the suppression has no effect.

BUG=2259
TEST=test passing locally when run as described in 2259 (since
no tests are run).

R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4639 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-29 09:47:18 +00:00
e141373b8a Add isolate configuration for Android for all tests.
In https://code.google.com/p/webrtc/source/detail?r=4407
henrike@ added the path to the WebRTC resources and
data directories for Android that are required in order to
use isolate for test execution on Android.

This CL adds similar entries to the rest of the .isolate
files added in
https://code.google.com/p/webrtc/source/detail?r=4590.

It also removes three accidentally added .isolate files that originated
from old test names:
* audio_device_test_api
* video_capture_module_test
* video_render_module_test

BUG=1882,1916
TEST=trybots passing.
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4627 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-27 12:10:09 +00:00
3365422c41 Isolate GYP target and .isolate files for tests
This is a re-land attempt of http://review.webrtc.org/1673004/
It now includes a build/isolate.gypi in WebRTC that includes the same
file as the one that would be included when WebRTC is used in a Chromium
checkout. It is needed since it is not possible to use variables in GYP's
includes sections.

Implemented according to the instructions at
http://www.chromium.org/developers/testing/isolated-testing

Workflow has been like this:
1. create _run GYP target
2. create a stripped down .isolate file
3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check"
4. runhooks
5. compile
6. test if the test would run (i.e. find it's dependencies) without
   actually executing it:
   tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated
7. If failing, run the fix_test_cases.py script like this:
   tools/swarm_client/googletest/fix_test_cases.py --isolated out/Release/testname.isolated

All tests that run on the bots for WebRTC has got _run target
and .isolate file created.

"Normal tests" that run fine on any machine:
* audio_decoder_unittests
* common_audio_unittests
* common_video_unittests
* metrics_unittests
* modules_tests
* modules_unittests
* neteq_unittests
* system_wrappers_unittests
* test_support_unittests
* tools_unittests
* video_engine_core_unittests
* voice_engine_unittests

Tests that requires bare-metal and audio/video devices:
* audio_device_tests
* video_capture_tests

I also added the isolate boilerplate code for the following
tests that are not yet pure gtest binaries (which means they
cannot run isolated yet):
* video_render_tests
* vie_auto_test
* voe_auto_test

TEST=running isolate.py as described above. WebRTC trybots passing. Created a Chromium checkout with third_party/webrtc ToT and this patch applied, passing the runhooks step.
BUG=1916
R=henrike@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4590 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-22 07:57:00 +00:00
e6dc38ea9b Lock resources in event_posix.cc.
Fixes errors reported by Helgrind from event_posix.cc when running video_engine_tests.

BUG=
TEST=helgrind,trybots
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4572 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-20 09:49:19 +00:00
4298f73031 Revert 4547 "Isolate GYP target and .isolate files for tests"
As this breaks the FYI bots in 
http://build.chromium.org/p/chromium.webrtc.fyi/waterfall
due to different path to isolate.gypi (which cannot easily
be resolved due to limitations in GYP)

> Isolate GYP target and .isolate files for tests
> 
> Implemented according to the instructions at
> http://www.chromium.org/developers/testing/isolated-testing
> 
> Workflow has been like this:
> 1. create _run GYP target
> 2. create a stripped down .isolate file
> 3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check"
> 4. runhooks
> 5. compile
> 6. test if the test would run (i.e. find it's dependencies) without
>    actually executing it:
>    tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated
> 7. If failing, run the fix_test_cases.py script like this:
>    tools/swarm_client/fix_test_cases.py --isolated out/Release/testname.isolated
> 
> All tests that run on the bots for WebRTC has got _run target
> and .isolate file created.
> 
> "Normal tests" that run fine on any machine:
> * audio_decoder_unittests
> * common_audio_unittests
> * common_video_unittests
> * metrics_unittests
> * modules_integrationtests
> * modules_unittests
> * neteq_unittests
> * system_wrappers_unittests
> * test_support_unittests
> * tools_unittests
> * video_engine_core_unittests
> * voice_engine_unittests
> 
> Tests that requires bare-metal and audio/video devices:
> * audio_device_integrationtests
> * video_capture_integrationtests
> 
> I also added the isolate boilerplate code for the following
> tests that are not yet pure gtest binaries (which means they
> cannot run isolated yet):
> * video_render_integrationtests
> * vie_auto_test
> * voe_auto_test
> 
> TEST=running isolate.py as described above.
> BUG=1916
> R=tommi@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/1673004

TBR=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4548 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 11:29:58 +00:00
d7a4d235d2 Isolate GYP target and .isolate files for tests
Implemented according to the instructions at
http://www.chromium.org/developers/testing/isolated-testing

Workflow has been like this:
1. create _run GYP target
2. create a stripped down .isolate file
3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check"
4. runhooks
5. compile
6. test if the test would run (i.e. find it's dependencies) without
   actually executing it:
   tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated
7. If failing, run the fix_test_cases.py script like this:
   tools/swarm_client/fix_test_cases.py --isolated out/Release/testname.isolated

All tests that run on the bots for WebRTC has got _run target
and .isolate file created.

"Normal tests" that run fine on any machine:
* audio_decoder_unittests
* common_audio_unittests
* common_video_unittests
* metrics_unittests
* modules_integrationtests
* modules_unittests
* neteq_unittests
* system_wrappers_unittests
* test_support_unittests
* tools_unittests
* video_engine_core_unittests
* voice_engine_unittests

Tests that requires bare-metal and audio/video devices:
* audio_device_integrationtests
* video_capture_integrationtests

I also added the isolate boilerplate code for the following
tests that are not yet pure gtest binaries (which means they
cannot run isolated yet):
* video_render_integrationtests
* vie_auto_test
* voe_auto_test

TEST=running isolate.py as described above.
BUG=1916
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4547 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 10:02:06 +00:00
4ca7d3f9fe Replace MapWrapper with std::map<>.
MapWrapper was needed on some platforms where STL wasn't supported, we
now use std::map<> directly.

BUG=2164
TEST=trybots
R=henrike@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4530 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 19:51:57 +00:00
12dc1a38ca Switch C++-style C headers with their C equivalents.
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.

BUG=1833
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +00:00
89c674053e Adds all unittests to android NDK-APK framework.
BUG=N/A
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4474 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 16:53:47 +00:00
a2a2718a6c Fix some chromium-style warnings in webrtc/system_wrappers/
BUG=163
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4464 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-01 17:26:15 +00:00
42581545eb Fixes: Resolves conflict that will happen when merging libjingle's and WebRTC's supplemental.gyp. By separating build_with_chromium and build_with_libjingle one can now just define build_with_libjingle in libjingle's supplemental.gyp. Once that is done it will be possible to merge the two supplemental.gyp-files. I.e. in WebRTC the supplemental.gyp would only set build_with_chromium to 0 since there is no longer any reason to disable logging and tests as they will be accessible in the same repository as libjingle.
Libjingle sets the variables here: https://code.google.com/p/libjingle/source/browse/trunk/talk/supplement.gypi

BUG=N/A
R=andrew@webrtc.org, fischman@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4354 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16 16:37:22 +00:00
d900e8bea8 Proper spacing for end-of-namespace comments.
BUG=
R=mflodman@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
1d4a2d5daf Move TickTime::QueryOsForTicks out-of-line
This inline function is no longer expanded on arm Android, but on x86 Android it
will still be expanded. Move it out-of-line to make things consistent.

This change list will also fix a potential bug on webrtc for Android:
Since the inline function won't be expanded on arm Android,
TickTime::MillisecondTimestamp and Clock::GetRealTimeClock()->TimeInMilliseconds
will be treated as function call, due to macro WEBRTC_CLOCK_TYPE_REALTIME's
guard defined in system_wrappers module they will get current time using
CLOCK_REALTIME.

But on x86 Android, the inline function will be expanded to where it's been
called, if the call happens in other compilation units which don't have
WEBRTC_CLOCK_TYPE_REALTIME definition, it will get current time using
CLOCK_MONOTONIC, while Clock::GetRealTimeClock()->TimeInMilliseconds will always
use CLOCK_REALTIME, then there will be two types of time in x86 Android which
will cause some weird issues like all received remote streams will be dropped
due to future render timestamp.

BUG=None
TEST=WebRTCViEDemo application works well on both arm and x86 Android
R=fischman@webrtc.org, niklas.enbom@webrtc.org

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

Patch from Jeremy Mao <yujie.mao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4274 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-27 17:15:20 +00:00
63e988856e Merge more tests into modules_{unit,integration}tests.
A new test target named 'modules_integrationtests' is created
and the following test targets were merged into it:
* audio_coding_module_test
* test_fec
* video_coding_integrationtests
* vp8_integrationtests

A couple of other targets were merged into modules_unittests:
* audio_coding_unittests
* audioproc_unittest
* common_unittests
* video_coding_unittests
* video_processing_unittests
* vp8_unittests

I wasn't able to merge audio_decoder_unittests and neteq_unittests due to
conflicts with different defines in these tests.

Some tests that have special requirements aren't merged into
modules_integrationtests yet. I took the opportunity to rename them
since the bot configs will need to be update anyway:
* audio_device_test_api -> audio_device_integrationtests
* video_capture_module_test -> video_capture_integrationtests
* video_render_module_test -> video_render_integrationtests

Exclude files were added for modules_integrationtests to make sure
the memcheck and tsan bots doesn't tests that are too slow
(audio_coding_module_test and vp8_integrationtests were previously
disabled on those bots).

Suppressions for AudioCodingModuleTest needed to be added to get
modules_integrationtests to pass memcheck (even if the test is
excluded from execution).

BUG=1843
TEST=local execution on Linux and trybots (passing except the merged tests of course)
R=andrew@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4228 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-14 20:09:44 +00:00
d4ed1a3e2c Fixes linker issue with no op trace.
BUG=N/A
R=henrikg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4226 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-13 09:34:54 +00:00
adb51f5709 Add back the WEBRTC_DIRECT_TRACE flag.
BUG=
R=andresp@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4201 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-10 09:03:41 +00:00
2b3a29a1fa Implement DetectNumberOfCores on Android and make it consistent on Linux and Android
TEST=Number of cpu cores on Linux and Android is right
R=fischman@webrtc.org, niklas.enbom@webrtc.org

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

Patch from Jeremy Mao <yujie.mao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4185 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-05 16:37:42 +00:00
c1eb560a5c Replace the old resampler with SincResampler in the voice engine signal path.
* The old resampler was found to have a wraparound bug.
* Remove support for the old resampler from PushResampler.
* Use PushResampler in AudioCodingModule.
* The old resampler must still be removed from the file utility.

BUG=webrtc:1867,webrtc:827
TESTED=unit tests, Chrome using apprtc and voe_cmd_test to verify wrap-around is corrected, voe_cmd_test running through all supported codec sample rates and channels to verify good quality audio
R=henrika@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4156 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-03 19:00:29 +00:00
acaf3a1b13 Include files from webrtc/.. paths in system_wrappers/
BUG=1662
R=henrikg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4111 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27 15:07:45 +00:00
3be565b502 Refactoring for typing detection
R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3976 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 21:04:24 +00:00
f9c289bafe Consolidate all third party licenses in LICENSE_THIRD_PARTY.
* Add the full license to all third party files.
* Correct some entries in LICENSE_THIRD_PARTY which were missing the full
license.
* Relicense all Chromium-licensed files under WebRTC.
* Remove third_party_mods/, which is now redundant.

R=jan.linden@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3959 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-05 18:54:10 +00:00
23516638fa Move WEBRTC_THREAD_RR and WEBRTC_CLOCK_TYPE_REALTIME to system_wrappers.gypi .
WEBRTC_THREAD_RR and WEBRTC_CLOCK_TYPE_REALTIME are used only in code compiled
in system_wrappers, so they don't need to be in common.gypi.

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3926 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-30 22:53:51 +00:00
e44a064915 Make win_support_condition_variables_primitive global to aligned with |library|
so that once we set it to true it will remain.
Review URL: https://webrtc-codereview.appspot.com/1319006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3852 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-15 18:06:42 +00:00