Changes differing from https://webrtc-codereview.appspot.com/37859004:
* I put the include_tests==1 stuff of audio_coding.gypi in its
own audio_coding_tests.gypi file, including the Android and isolate
targets which were incorrectly located in the previous CL
* I moved the bwe utilities in remote_bitrate_estimator.gypi
into include_tests==1 since they depend on test.gyp after I
cleaned up the duplicated inclusion of rtp_file_reader.cc
R=stefan@webrtc.orgTBR=tina.legrand@webrtc.org
TESTED=Passing gyp and compile using:
webrtc/build/gyp_webrtc -Dinclude_tests=1
webrtc/build/gyp_webrtc -Dinclude_tests=0
I also setup a Chromium checkout with my checkout mounted in
third_party/webrtc and ran build/gyp_chromium successfully.
BUG=4185
Review URL: https://webrtc-codereview.appspot.com/33159004
Cr-Commit-Position: refs/heads/master@{#8205}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8205 4adac7df-926f-26a2-2b94-8c16560cd09d
This required to move the AGC tools source files
into webrtc/tools and create a new agc_test_utils target.
Since audio_codec_speed_tests.gypi referenced sources above,
the best approach I could come up with was to add an audio_coding.gypi
file at a higher level and move the targets in there (+ the includes from
modules.gyp which is an improvement IMO).
I also added a PRESUBMIT.py check to prevent new source
entries being added with <(webrtc_root) in the path.
BUG=4185
R=andrew@webrtc.org, tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/37859004
Cr-Commit-Position: refs/heads/master@{#8197}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8197 4adac7df-926f-26a2-2b94-8c16560cd09d
This fixes a variety of MSVC warnings about value truncations when implicitly
storing the 64-bit values we get back from e.g. TimeTicks in 32-bit objects, and
removes the need for a number of explicit casts.
This also moves a number of constants so they're declared right where they're used, which is easier to read and maintain, and makes some of them of integral type rather than using the "enum hack".
BUG=chromium:81439
TEST=none
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/33649004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7905 4adac7df-926f-26a2-2b94-8c16560cd09d
Libvpx now supports GN and this CL turns on compiling it.
I also introduced an executable target 'webrtc_tests'
that depends on all in WeBRTC + tests in order to get a full
linking step executed (since we've seen link problems for GN
when rolling WebRTC into Chromium).
I also converted a few test targets and made a GN file for
third_party/gflags.
BUG=3441
TESTED=Trybots + full Chromium build with a symlinked src/third_party/webrtc
dir to a workspace wit this CL applied.
R=brettw@chromium.orgTBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/25569004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7344 4adac7df-926f-26a2-2b94-8c16560cd09d
Now that WebRTC has rolled the chromium_revision past
http://crrev.com/284372 in r6784, clang has become the
default compiler. Since WebRTC standalone code doesn't
yet compile the Chromium Clang plugins enabled, this CL
disables them for the parts of the code that doesn't yet pass
compilation with them enabled.
The buildbots are using Goma which is not yet switched
over to Clang by default. That's why they're not red yet.
BUG=163
TEST=Passing compile locally on Linux using:
gn gen out/Debug --args="build_with_chromium=false is_debug=true" && ninja
-C out/Debug
gn gen out/Release --args="build_with_chromium=false is_debug=false" && ninja
-C out/Release
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" arm_version=7" && ninja -C out/Default
R=brettw@chromium.org
Review URL: https://webrtc-codereview.appspot.com/16279004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6966 4adac7df-926f-26a2-2b94-8c16560cd09d
Plays back rtpdump files from Wireshark in realtime as well as save the
resulting raw video to file. Unlike the RTP playback tool it doesn't
support faster-than-realtime playback/rendering, but it instead utilizes
the same path as production code and also contains support for playing
back FEC.
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/16969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6838 4adac7df-926f-26a2-2b94-8c16560cd09d
Most WebRTC source files are using full paths for includes which
requires the root to be in the include path.
This is currently handled in the common_inherited_config config in
webrtc/BUILD.gn: the .. include_dir.
However, when built from Chromium, the include
paths are not inherited in the same way when building the all target.
Building the 'webrtc' target of Chrome works without the changes
in this CL, but the default target fails.
BUG=3441
TEST=Built the default target from a Chromium checkout with
https://codereview.chromium.org/321313006/ applied and
src/third_party/webrtc linked to the webrtc folder of the WebRTC
workspace.
R=brettw@chromium.org
Review URL: https://webrtc-codereview.appspot.com/15989004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6670 4adac7df-926f-26a2-2b94-8c16560cd09d
Also changes the name of a variable which has been hijacked by windef.h (included by windows.h), which forces #define near and #define far upon us. This issue was introduced via the following inclusion chain:
bwe_test_framework_unittest.cc includes
paced_sender.h
tick_util.h
windows.h
windef.h
And causes EXPECT_NEAR(foo, bar, near); to expand to EXPECT_NEAR(foo, bar,); generating a very confusing compile error.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20849004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6606 4adac7df-926f-26a2-2b94-8c16560cd09d
Since libjingle provides a packet arrival timestamp to webrtc, and the clock in remote bitrate estimator and the clock used for packet arrival timestamp can be different. This can cause the bandwidth estimator to malfunction.
This CL changes the remote bitrate estimator so that packet arrival timestamps never are compared to the time taken from the internal clock.
BUG=3527
R=mflodman@webrtc.org, pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20789004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6571 4adac7df-926f-26a2-2b94-8c16560cd09d
This should work as a foundation for all the work that is
left to do to make the parts of WebRTC that Chromium uses
to build with GN.
I implemented some the smaller modules myself in this CL.
The remaining work (TODO's in the .gn files) will be distributed
to various team members.
I'm adding myself to OWNERS files for BUILD.gn files in all the
directories where I'm adding a BUILD.gn file.
BUG=3441
TEST=
Successful compilation of WebRTC as standalone:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_clang=true clang_use_chrome_plugins=false" && ninja -C out/Default
I built successfully from a Chromium checkout (with
https://codereview.chromium.org/321313006/ applied) using:
gn gen out/Default && ninja -C out/Default webrtc
R=brettw@chromium.org, niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13749004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6523 4adac7df-926f-26a2-2b94-8c16560cd09d
From now on it is expected that code linking system_wrappers.gyp:system_wrappers
provides an implementation for field_trial API or links with the default one in
system_wrappers.gyp:field_trial_default.
Note: Since there is no use of webrtc::field_trial API inside webrtc this CL on
itself does not forces the clients to actually define it. It however lays the
API and updates the gyp rules to link with so that it is ready to use.
Tested: Introduced a use of field trial in system wrappers and make sure all
bots were building successfully.
BUG=crbug/367114
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14489004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6147 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL brought to you by:
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do echo -e "\n# These are for the common case of adding or renaming files. If you're doing\n# structural changes, please get a review from a reviewer in this file.\nper-file *.gyp=*\nper-file *.gypi=*" >> $d/OWNERS; done
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do git add $d/OWNERS; done
(and then removed the talk/ impact)
R=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5903 4adac7df-926f-26a2-2b94-8c16560cd09d