if not on Android/iOS.
This is a re-land of https://codereview.webrtc.org/1674103002/.
The reason Chromium FYI turned red was due to deps not
being relative. See kjellander's CL:
https://codereview.webrtc.org/1681493002/.
This means proprietary_codecs=1 && ffmpeg_branding=Chrome
can be used to enable this H.264 enc/dec implementation
instead of rtc_use_h264=1 && ffmpeg_branding=Chrome.
This is used by both Chromium trybots (but not default
Chromium build) and offical Chrome build, meaning we will
be able to test and enable H.264 in chromium.
This change would otherwise be enough to launch this
feature in Chrome, but because we do not want to do that
before we have chromium browser tests and are ready to flip
the switch, this CL prevents chromium from using H.264 just
yet: https://codereview.chromium.org/1641163002/ (landing
this after that CL).
Third time's the charm?
TBR=kjellander@webrtc.org
BUG=chromium:500605, chromium:468365
Review URL: https://codereview.webrtc.org/1675143003
Cr-Commit-Position: refs/heads/master@{#11523}
Reason for revert:
Chromium FYI turns red.
Original issue's description:
> Default build flag |rtc_use_h264| to |proprietary_codecs|
> if not on Android/iOS.
>
> This means proprietary_codecs=1 && ffmpeg_branding=Chrome
> can be used to enable this H.264 enc/dec implementation
> instead of rtc_use_h264=1 && ffmpeg_branding=Chrome.
> This is used by both Chromium trybots (but not default
> Chromium build) and offical Chrome build, meaning we will
> be able to test and enable H.264 in chromium.
>
> This change would otherwise be enough to launch this
> feature in Chrome, but because we do not want to do that
> before we have chromium browser tests and are ready to flip
> the switch, this CL prevents chromium from using H.264 just
> yet: https://codereview.chromium.org/1641163002/ (landing
> this after that CL).
>
> Note: This is a re-land of
> https://codereview.webrtc.org/1660403004/. Reverting it
> was not necessary.
>
> TBR=kjellander@webrtc.org
> BUG=chromium:500605, chromium:468365
>
> Committed: https://crrev.com/10b9dd7ab1a8c3f80b2d2924be658e43131a4fbe
> Cr-Commit-Position: refs/heads/master@{#11517}
TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:500605, chromium:468365
Review URL: https://codereview.webrtc.org/1675113002
Cr-Commit-Position: refs/heads/master@{#11518}
if not on Android/iOS.
This means proprietary_codecs=1 && ffmpeg_branding=Chrome
can be used to enable this H.264 enc/dec implementation
instead of rtc_use_h264=1 && ffmpeg_branding=Chrome.
This is used by both Chromium trybots (but not default
Chromium build) and offical Chrome build, meaning we will
be able to test and enable H.264 in chromium.
This change would otherwise be enough to launch this
feature in Chrome, but because we do not want to do that
before we have chromium browser tests and are ready to flip
the switch, this CL prevents chromium from using H.264 just
yet: https://codereview.chromium.org/1641163002/ (landing
this after that CL).
Note: This is a re-land of
https://codereview.webrtc.org/1660403004/. Reverting it
was not necessary.
TBR=kjellander@webrtc.org
BUG=chromium:500605, chromium:468365
Review URL: https://codereview.webrtc.org/1674103002
Cr-Commit-Position: refs/heads/master@{#11517}
Reason for revert:
Trybots red? Don't have time to intvestigate
Original issue's description:
> Default build flag |rtc_use_h264| to |proprietary_codecs|
> if not on Android/iOS.
>
> This means proprietary_codecs=1 && ffmpeg_branding=Chrome
> can be used to enable this H.264 enc/dec implementation
> instead of rtc_use_h264=1 && ffmpeg_branding=Chrome.
> This is used by both Chromium trybots (but not default
> Chromium build) and offical Chrome build, meaning we will
> be able to test and enable H.264 in chromium.
>
> This change would otherwise be enough to launch this
> feature in Chrome, but because we do not want to do that
> before we have chromium browser tests and are ready to flip
> the switch, this CL prevents chromium from using H.264 just
> yet: https://codereview.chromium.org/1641163002/ (landing
> this after that CL).
>
> BUG=chromium:500605, chromium:468365
>
> Committed: https://crrev.com/7cd94f66ebfe5bf808d7dcb8da069d35f4a2b31a
> Cr-Commit-Position: refs/heads/master@{#11506}
TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:500605, chromium:468365
Review URL: https://codereview.webrtc.org/1677623002
Cr-Commit-Position: refs/heads/master@{#11508}
if not on Android/iOS.
This means proprietary_codecs=1 && ffmpeg_branding=Chrome
can be used to enable this H.264 enc/dec implementation
instead of rtc_use_h264=1 && ffmpeg_branding=Chrome.
This is used by both Chromium trybots (but not default
Chromium build) and offical Chrome build, meaning we will
be able to test and enable H.264 in chromium.
This change would otherwise be enough to launch this
feature in Chrome, but because we do not want to do that
before we have chromium browser tests and are ready to flip
the switch, this CL prevents chromium from using H.264 just
yet: https://codereview.chromium.org/1641163002/ (landing
this after that CL).
BUG=chromium:500605, chromium:468365
Review URL: https://codereview.webrtc.org/1660403004
Cr-Commit-Position: refs/heads/master@{#11506}
New flag: rtc_initialize_ffmpeg, default value = !build_with_chromium.
In WebRTC standalone we initialize FFmpeg by default, in Chromium we don't by default.
Chromium is an external project that also use FFmpeg. If both projects do FFmpeg initialization code things will break. The flag makes it possible for other external projects than chromium to decide whether or not WebRTC should initialize FFmpeg.
BUG=chromium:500605, chromium:468365, webrtc:5427
Review URL: https://codereview.webrtc.org/1639273002
Cr-Commit-Position: refs/heads/master@{#11456}
It works on all platforms except Android and iOS (FFmpeg limitation).
Implemented behind compile time flags, off by default.
The plan is to have it enabled in Chrome (see bug), but not in Chromium/webrtc by default.
Flags to turn it on:
- rtc_use_h264 = true
- ffmpeg_branding = "Chrome" (or other brand that includes H.264 decoder)
Tests using H264:
- video_loopback --codec=H264
- screenshare_loopback --codec=H264
- video_engine_tests (EndToEndTest.SendsAndReceivesH264)
NOTRY=True
BUG=500605, 468365
BUG=https://bugs.chromium.org/p/webrtc/issues/detail?id=5424
Review URL: https://codereview.webrtc.org/1306813009
Cr-Commit-Position: refs/heads/master@{#11390}
Defining use_third_party_h264 directly, and indirectly defining use_openh264 (from third_party/openh264) and ffmpeg_branding (from third_party/ffmpeg).
These will be used in a follow-up CL that adds an encoder and decoder implementation.
The flags are added in this CL so that they can be used by trybots/waterfall bots in GN without "Build argument had no effect" errors. Equivalent GYP changes are also added.
BUG=468365
Review URL: https://codereview.webrtc.org/1575913003
Cr-Commit-Position: refs/heads/master@{#11204}
JNI already has jstring<->UTF8 string conversion, so using that should
save ~1mb off android binaries (ICU is *large*), probably around
300-400k after compression.
BUG=
Review URL: https://codereview.webrtc.org/1430023005
Cr-Commit-Position: refs/heads/master@{#10545}
Due to https://codereview.chromium.org/1397493004 we're now adding
a build_overrides directory in WebRTC. Thanks to this, we no longer
need to pass --args="build_with_chromium=false" when running GN in
standalone WebRTC.
Change log: c089d37..159828f
Full diff: c089d37..159828f
No dependencies changed.
No update to Clang.
BUG=webrtc:5070,chromium:541791
TBR=tommi@webrtc.org
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal
Review URL: https://codereview.webrtc.org/1403453003 .
Cr-Commit-Position: refs/heads/master@{#10270}
Our perf test suite webrtc_perf_tests timed out, which caused most
of the delay landing this (https://crbug.comn/535973 and
https://codereview.chromium.org/1370133004).
Other problems with executing Android tests also needed to be
resolved in order to land this (http://crbug.com/534849).
Libvpx has moved from third_party/libvpx to third_party/libvpx_new
as of https://codereview.chromium.org/1323333002/
Android GN was blocking this roll due to a problem that ended up
being caused by a bug (http://crbug.com/534849).
Relevant changes:
* src/buildtools: f7310ee..8d89c1b
* src/third_party/boringssl/src: 1d128f3..4c60d35
* src/third_party/icu: 6b3ce81..423fc7e
* src/third_party/libjpeg_turbo: 631e2dd..e4e7503
* src/third_party/libvpx: ac1772e..70db223
* src/third_party/libyuv: fcacbfb..62c49dc
* src/tools/gyp: 5d01a8c..01528c7
* src/tools/swarming_client: 77f720b..6e5d2b2
Details: 310ea93..8cf53d6/DEPS
Clang version changed 245965:247874
Details: 310ea93..8cf53d6/tools/clang/scripts/update.sh
BUG=481034, 535973
TBR=marpan@webrtc.org
Review URL: https://codereview.webrtc.org/1355083002
Cr-Commit-Position: refs/heads/master@{#10101}
Comparing with 1 is less clear than using the input flags as
booleans.
BUG=5008276
Review URL: https://codereview.webrtc.org/1231663002
Cr-Commit-Position: refs/heads/master@{#9561}
Add pylintrc file based on
https://code.google.com/p/chromium/codesearch#chromium/src/tools/perf/pylintrc
bit tightened up quite a bit (the one in depot_tools is far
more relaxed).
Remove a few excluded directories from pylint check and fixed/
suppressed all warnings generated.
Add GN format check + formatted all GN files using 'gn format'.
Cleanup redundant rules in tools/PRESUBMIT.py
TESTED=Ran 'git cl presubmit -vv', fixed the PyLint violations.
Ran it again with a modification in webrtc/build/webrtc.gni, formatted
all the GN files and ran it again.
R=henrika@webrtc.org, phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50069004
Cr-Commit-Position: refs/heads/master@{#9274}
This makes the build more flexible when linking against
prebuilt external libraries.
Use existing build_* variables for libyuv and json in talk/
(already in use in webrtc/).
Also make it possible to avoid building the GTK parts of the Linux build.
BUG=4242
R=andrew@webrtc.org, tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/44179005
Cr-Commit-Position: refs/heads/master@{#9087}
The work landed in 4034 (use of HW AEC in AppRTC) is currently not
active by default since we build for Open SL. I missed that when I
did my initial change (since I always disabled OpenSL by GYP_DEFINES).
This CL ensures that Java based audio is used as default in WebRTC.
It would be great if we could shift over to Open SL (to cut latency)
but that would (today) mean that we can't support the HW AEC.
Hence, we are not ready to do so yet.
BUG=4034
R=kjellander@webrtc.org, perkj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36699004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8040 4adac7df-926f-26a2-2b94-8c16560cd09d
Modifies the previous condition to additionally not use openmax_dl on
iOS. Remove the All target's direct dependency on it, as it is now
pulled in by the targets that need it.
Add gn support since an openmax_dl gn target is available.
BUG=chromium:415393, webrtc:3906
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/23949004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7397 4adac7df-926f-26a2-2b94-8c16560cd09d
Targets must now link with implementation of their choice instead of at "gyp"-time.
Targets linking with libjingle_media:
- internal implementation when build_with_chromium=0, default otherwise.
Targets linking with default render implementation:
- video_engine_tests
- video_loopback
- video_replay
- anything dependent on webrtc_test_common
Targets linking with internal render implementation:
- vie_auto_test
- video_render_tests
- libwebrtcdemo-jni
- video_engine_core_unittests
GN changes:
- Not many since there is almost no test definitions.
Work-around for chromium:
- Until chromium has updated libpeerconnection to link with video_capture_impl and video_render_impl, webrtc target automatically depends on it. This should fix the FYI bots and not require a webrtc roll to fix.
Re-enable android tests by reverting 7026 (some tests left disabled).
TESTED: passes all the bots. If this inadvertently breaks a target please fix the linking rules so the target has the desired implementation linked in.
BUG=3770
R=kjellander@webrtc.org, pbos@webrtc.orgTBR=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/19359004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7217 4adac7df-926f-26a2-2b94-8c16560cd09d
into its own targets. Dependencies must link directly with the desired one.
Targets linking with libjingle_media:
- internal implementation when build_with_chromium=0, default otherwise.
Targets linking with default/external capture implementation:
- anything dependent on webrtc_test_common
- anything dependent on video_engine_core
Targets linking with internal capture implementation:
- vie_auto_test
- anything dependent on webrtc_test_renderer
GN changes:
- Not many since there is almost no test definitions.
TESTED: passes all the bots. If this inadvertently breaks a target please fix the linking rules so the target has the desired implementation linked in.
BUG=3768
R=glaznev@webrtc.orgTBR=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/24589004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7209 4adac7df-926f-26a2-2b94-8c16560cd09d
Update the webrtc/base/BUILD.gn file to reflect
webrtc/base/base.gyp changes between r6438 and r7011.
BUG=3441
TESTED= Trybots + compilation with a standalone WebRTC checkout:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_debug=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" is_clang=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" arm_version=7 is_clang=false" && ninja -C out/Default
Compilation of Chromium's 'all' target with src/third_party/webrtc
symlinked to the WebRTC checkout with this CL applied, both
with the default GN settings and using
--args="is_debug=false os=\"android\" cpu_arch=\"arm\""
R=brettw@chromium.org
Review URL: https://webrtc-codereview.appspot.com/13359004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7022 4adac7df-926f-26a2-2b94-8c16560cd09d
NOTICE: Assembly offsets generation for audio processing will
not be ported to GN and the process of removing them is tracked
in https://code.google.com/p/webrtc/issues/detail?id=3580.
The GN files are based upon the GYP files as of r7009.
BUG=3441
TESTED=Passing builds with:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_debug=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false aec_debug_dump=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false aec_untrusted_delay_for_testing=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false prefer_fixed_point=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" is_clang=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" arm_version=7 is_clang=false" && ninja -C out/Default
I don't know how to setup the mips toolchain to test the following, but it's out of scope for the GN effort for now:
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=0" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=1" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=2" && ninja -C out/Default
Compilation of Chromium's 'all' target with src/third_party/webrtc
symlinked to the WebRTC checkout with this CL applied, both
with the default GN settings and using
--args="is_debug=false os=\"android\" cpu_arch=\"arm\""
R=andrew@webrtc.org, brettw@chromium.org
Review URL: https://webrtc-codereview.appspot.com/15999004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7012 4adac7df-926f-26a2-2b94-8c16560cd09d
Also add more from common.gypi to webrtc.gni.
These GN configs are based on GYP files in r6997.
BUG=3441
TEST=Trybots and local compile using:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_debug=true" && ninja -C out/Default
Passed compile from a Chromium checkout with src/third_party/webrtc linked to the webrtc/ dir of a checkout with this patch applied.
R=brettw@chromium.org, glaznev@webrtc.org, mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/18709004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6999 4adac7df-926f-26a2-2b94-8c16560cd09d
This adds copying of Chromium's third_party/BUILD.gn
to acommondate libyuv's BUILD.gn that imports the 'jpeg'
config from that file.
BUG=3441
TEST=trybots + local compile passing with:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false build_libyuv=false" && ninja -C out/Default
R=niklas.enbom@webrtc.org, pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14839004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6595 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL makes it possible to build the 'webrtc_base'
target using GN.
The majority of our GYP stuff in webrtc/build/common.gypi has been
translated into the configs of webrtc/BUILD.gn.
The webrtc/base/base.gyp file is translated into webrtc/base/BUILD.gn.
This CL depends on https://codereview.chromium.org/322373002/ for the
jsoncpp BUILD.gn file and the ssl config.
To build inside Chromium, https://codereview.chromium.org/321313006/
needs to be landed first.
BUG=webrtc: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" && ninja -C out/Default
I also ran:
gn gen out/Default --args="build_with_chromium=false have_dbus_glib=true"
but it fails to compile: something is probably wrong with with pkg-config for that.
For Chromium, I symlinked src/third_party/webrtc to the webrtc subfolder of the
WebRTC checkout and applied the following patches:
https://codereview.chromium.org/322373002 (for jsoncpp and ssl config)
https://codereview.chromium.org/321313006 (enable building WebRTC)
Then I built successfully using:
gn gen out/Default && ninja -C out/Default webrtc_base
R=brettw@chromium.orgTBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/17669004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6461 4adac7df-926f-26a2-2b94-8c16560cd09d