Reason for revert:
This CL breaks the google3 import (but not the import bot).
This partial revert only reverts the build files. A full revert no longer cleanly applies to ToT, so this was done instead.
Original issue's description:
> Enable -Winconsistent-missing-override flag.
>
> The problem with gmock is worked around by commenting out any other override declarations in classes using gmock.
>
> NOPRESUBMIT=True
> BUG=webrtc:3970
>
> Committed: https://crrev.com/ef8b61e11062295365f11b9942f18a08a8b3ec60
> Cr-Commit-Position: refs/heads/master@{#12563}
TBR=mflodman@webrtc.org,kjellander@webrtc.org,nisse@webrtc.org
BUG=webrtc:3970
Review-Url: https://codereview.webrtc.org/1944273002
Cr-Commit-Position: refs/heads/master@{#12624}
The problem with gmock is worked around by commenting out any other override declarations in classes using gmock.
NOPRESUBMIT=True
BUG=webrtc:3970
Review-Url: https://codereview.webrtc.org/1921653002
Cr-Commit-Position: refs/heads/master@{#12563}
The logging thread is always active. The main thread uses SwapQueues to pass events to the logging thread. The logging thread moves the events to either a RingBuffer history in memory, or to a string which is written to disc.
RtcEventLogImpl constructor takes a clock for easier testing.
BUG=webrtc:4741
Review URL: https://codereview.webrtc.org/1687703002
Cr-Commit-Position: refs/heads/master@{#12476}
Reason for revert:
Breaks GN in chromium.
Original issue's description:
> Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies.
>
> webrtc/audio/audio_sink.h is used by voice engine, but webrtc/audio is
> depending on voice engine, resulting in a cyclic dependency (which we
> don't detect since we have that check turned off, see webrtc:4243).
>
> BUG=webrtc:4243, webrtc:5589
> R=pbos@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org
> TBR=tommi@webrtc.org
>
> Committed: https://crrev.com/99b345c4e50c59a776c56949c17da3f50992f1a2
> Cr-Commit-Position: refs/heads/master@{#11766}
TBR=solenberg@webrtc.org,pbos@webrtc.org,perkj@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4243, webrtc:5589
Review URL: https://codereview.webrtc.org/1739783002
Cr-Commit-Position: refs/heads/master@{#11769}
This is needed because the target is defined in webrtc/common.gyp
and its current location crosses package boundaries when generating
projects for some build systems.
NOTRY=True
Review URL: https://codereview.webrtc.org/1665603003
Cr-Commit-Position: refs/heads/master@{#11496}
Reason for revert:
Reverting due to problem with roll:
/b/build/slave/linux/build/src/buildtools/linux64/gn gen //out/Release '--args=ffmpeg_branding="Chrome" proprietary_codecs=true is_debug=false is_component_build=false use_goma=true goma_dir="/b/build/goma" symbol_level=1 dcheck_always_on=true' --check --runtime-deps-list-file=/b/build/slave/linux/build/src/out/Release/runtime_deps
-> returned 1
ERROR at //third_party/webrtc/BUILD.gn:245:18: Item not found
configs -= [ "//build/config/clang:find_bad_constructs" ]
^-----------------------------------------
You were trying to remove "//build/config/clang:find_bad_constructs"
from the list but it wasn't there.
GN gen failed: 1
step returned non-zero exit code: 1
@@@STEP_FAILURE@@@
Original issue's description:
> Use an explicit identifier in Config
>
> This let's us use them to configure them when using WebRTC as an external library. One use case where this is necessary is in the Android OS.
>
> Committed: https://crrev.com/25249d92d3cf105bcc7b684c8924ccdbc9afcb93
> Cr-Commit-Position: refs/heads/master@{#11231}
TBR=henrik.lundin@webrtc.org,stefan@webrtc.org,tommi@chromium.org,aluebs@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1586563003
Cr-Commit-Position: refs/heads/master@{#11239}
This let's us use them to configure them when using WebRTC as an external library. One use case where this is necessary is in the Android OS.
Review URL: https://codereview.webrtc.org/1538643004
Cr-Commit-Position: refs/heads/master@{#11231}
Also removes listing of targets in webrtc_fuzzers which is very prone to
not being up to date. They're not required for ClusterFuzz integration
or building locally. This also means that adding fuzzers won't require
approval outside the fuzzers directory.
BUG=webrtc:4771
R=kjellander@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1518973003 .
Cr-Commit-Position: refs/heads/master@{#11067}
This change adds fuzzer tests for iLBC, iSAC fix and float, and
Opus. The fuzzer function takes a random input vector and splits it
into a number of payloads. The lengths of the payloads is also
determined by the random vector. The payloads are decoded with the
decoders.
BUG=webrtc:5306
R=kjellander@webrtc.org, pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1499093002 .
Cr-Commit-Position: refs/heads/master@{#10932}
This reverts commit f054819e257a4f9cbb7fa82ba51dc2335f4359ec,
2d3747de9b7c3014e106d3766dc07cf5da3e1881 and
7ef0553c85c5b373535d7f6161e9a6d3b5b9a826.
It seems harder than expected to get a GN build for rtc_sound
and we lack sufficient trybot support for the case where
WebRTC is built as part of Chromium.
The Debug builds failed like this:
[6939/7454] SOLINK ./libcontent.so
FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -B../../third_party/binutils/Linux_x64/Release/bin -fuse-ld=gold -Wl,--icf=all -pthread -m64 -Wl,--export-dynamic -o ./libcontent.so -Wl,-soname=libcontent.so @./libcontent.so.rsp && { readelf -d ./libcontent.so | grep SONAME ; nm -gD -f p ./libcontent.so | cut -f1-2 -d' '; } > ./libcontent.so.tmp && if ! cmp -s ./libcontent.so.tmp ./libcontent.so.TOC; then mv ./libcontent.so.tmp ./libcontent.so.TOC; fi
../../third_party/webrtc/sound/alsasoundsystem.cc:453: error: undefined reference to 'rtc::LateBindingSymbolTable::Load()'
../../third_party/webrtc/base/latebindingsymboltable.h.def:62: error: undefined reference to 'rtc::LateBindingSymbolTable::IsLoaded() const'
../../third_party/webrtc/base/latebindingsymboltable.h.def:62: error: undefined reference to 'rtc::LateBindingSymbolTable::IsLoaded() const'
../../third_party/webrtc/base/latebindingsymboltable.h.def:62: error: undefined reference to 'rtc::LateBindingSymbolTable::IsLoaded() const'
../../third_party/webrtc/base/latebindingsymboltable.h.def:62: error: undefined reference to 'rtc::LateBindingSymbolTable::IsLoaded() const'
../../third_party/webrtc/base/latebindingsymboltable.cc.def:63: error: undefined reference to 'rtc::LateBindingSymbolTable::LateBindingSymbolTable(rtc::LateBindingSymbolTable::TableInfo const*, void**)'
../../third_party/webrtc/base/latebindingsymboltable.cc.def:65: error: undefined reference to 'rtc::LateBindingSymbolTable::~LateBindingSymbolTable()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
BUG=webrtc:4160
TBR=tfarina@chromium.org
Review URL: https://codereview.webrtc.org/1407893005 .
Cr-Commit-Position: refs/heads/master@{#10411}
Tested on Linux with the following command lines:
$ gn gen out-gn/Release --args='is_debug=false target_cpu="x64"
build_with_chromium=false'
$ ninja -C out-gn/Release rtc_sound
BUG=webrtc:4160
R=kjellander@webrtc.org
Review URL: https://codereview.webrtc.org/1425583002
Cr-Commit-Position: refs/heads/master@{#10405}
Reason for revert:
Breaks FYI bots.
ninja: error: '../../third_party/webrtc_overrides/webrtc/base/logging.cc', needed by 'obj/third_party/webrtc_overrides/webrtc/base/rtc_base.logging.o', missing and no known rule to make it
Original issue's description:
> Update build files to use webrtc_overrides in Chromium instead of overrides.
>
> This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.
>
> BUG=chromium:468375
>
> Committed: https://crrev.com/baae0a8a6c873ddf812a5687b84638359b2e7e5b
> Cr-Commit-Position: refs/heads/master@{#9996}
TBR=kjellander@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:468375
Review URL: https://codereview.webrtc.org/1352423002
Cr-Commit-Position: refs/heads/master@{#9998}
This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.
BUG=chromium:468375
Review URL: https://codereview.webrtc.org/1354933002
Cr-Commit-Position: refs/heads/master@{#9996}
The disabling of the sin,cos,sinf,cosf functions had the wrong
condition for GN. This fixes that and also makes the condition
in common.gypi a bit more readable.
BUG=
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1307633008 .
Cr-Commit-Position: refs/heads/master@{#9871}
Re-lands "Renamed the ACMDump to RtcEventLog and moved it to webrtc/video, since it is not specific to the audio coding module."
This reverts commit b933667a7f97697d6390d1eee5f378cedd9ca208.
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1259683003 .
Cr-Commit-Position: refs/heads/master@{#9661}
Placed the protobuf structures in the namespace webrtc::rtclog. Removed the message field from the DebugEvent structure, since it was not used.
Added an interface to set config information for VideoReceiveStream and VideoSendStream in the event log.
Added function to log full RTCP packets and changed RTP-logging to only log headers.
Significantly extended the unit tests for RtcEventLog.
R=ivoc@webrtc.org, minyue@webrtc.org, pbos@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1230973005 .
Cr-Commit-Position: refs/heads/master@{#9656}
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}
Merge WEBRTC_ARCH_ARM64_NEON and WEBRTC_ARCH_ARM_NEON into one
WEBRTC_HAS_NEON.
Replace WEBRTC_DETECT_ARM_NEON by WEBRTC_DETECT_NEON.
Replace WEBRTC_ARCH_ARM by WEBRTC_ARCH_ARM64 for arm64 cpu.
BUG=4002
R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org
Change-Id: I870a4d0682b80633b671c9aab733153f6d95a980
Review URL: https://webrtc-codereview.appspot.com/49309004
Cr-Commit-Position: refs/heads/master@{#9228}
BUG=4573,2982,2175,3590
TEST=modules_unittests --gtest_filter=AudioDevice*, AppRTCDemo and WebRTCDemo
Summary:
- Removes dependency of the 'enable_android_opensl' compiler flag.
Instead, OpenSL ES is always supported, and will enabled for devices that
supports low-latency output.
- WebRTC no longer supports OpenSL ES for the input/recording side.
- Removes old code and demos using OpenSL ES for audio input.
- Improves accuracy of total delay estimates (better AEC performance).
- Reduces roundtrip audio latency; especially when OpenSL can be used.
Performance verified on: Nexus 5, 6, 7 and 9. Samsung Galaxy S4 and S6.
Android One device.
R=magjed@webrtc.org, phoglund@webrtc.org, tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/51759004
Cr-Commit-Position: refs/heads/master@{#9208}
Mostly, it's about moving constructors and descructors to the .cc
files, so that they won't be inlined everywhere.
The reason this CL is so big is that a lot of code was using
common_types.h without declaring a dependency on webrtc_common, which
broke the build once common_types.h started to depend on
common_types.cc.
BUG=163
R=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/26089004
Cr-Commit-Position: refs/heads/master@{#8516}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8516 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL performs the following renames of targets to
make GYP and GN more unified and make the targets that
have the same name as the module and include the external
render/capture implementation (the internal one is only
used by WebRTC tests).
This makes it natural to declare dependencies in GN
without having to specify the target.
Summary of the renames:
GYP:
video_render_module_impl -> video_render (new target)
video_capture_module_impl -> video_capture (new target)
GN:
video_capture -> video_capture_module (now identical to the GYP target)
video_capture_impl -> video_capture
video_render -> video_render_module (now identical to the GYP target)
video_render_impl -> video_render
BUG=456815
R=andresp@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/35099004
Cr-Commit-Position: refs/heads/master@{#8323}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8323 4adac7df-926f-26a2-2b94-8c16560cd09d