rtc_base drags in a bunch of unwieldly dependencies (e.g. nss and
json) not required for standalone webrtc (aka rtc/media). The root of
the problem appears to be that MessageQueue depends on a socket server.
(And since common.h -> logging.h -> thread.h -> messagequeue.h, this
dependency spreads quickly.)
This starts a new target for a "purified" subset of rtc_base. It adds
the files which are already being used, replacing the use of common.h
with checks.h. desktop_capture is a lost cause, and retains its
dependency on the full rtc_base.
The hope is that as additional components are desired they will be
cleaned and added to rtc_base_approved.
BUG=3806
R=andresp@webrtc.org, henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/22649004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7188 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 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
Note that this means that there is no new code. The code has been taken directly from condition_variable_win.cc/h compensating minimally to be able to split up the two code paths.
Tested by:
1) Disabling native implementation and send to try bots.
2) Only return native implementation (i.e. if native implementation returns NULL there will be a crash when using the condition variable) and send to try bots.
3) The final cl sent to trybots.
All tests pass.
The changes are due to static analyzer code complaints.
BUG=N/A
Review URL: https://webrtc-codereview.appspot.com/1191004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3728 4adac7df-926f-26a2-2b94-8c16560cd09d
This is the first in a series of CLs to bring arbitrary resampling to webrtc.
* Replace Chromium-specific helpers with their respective webrtc versions.
* Add a second constructor to permit runtime selection of block_size.
* Add stringize_macros to system_wrappers.
BUG=webrtc:1395
TESTED=unit tests
Review URL: https://webrtc-codereview.appspot.com/1097012
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3518 4adac7df-926f-26a2-2b94-8c16560cd09d
The goal with this new clock interface is to have something which is used all
over WebRTC to make it easier to switch clock implementation depending on where
the components are used. This is a first step in that direction.
Next steps will be to, step by step, move all modules, video engine and voice
engine over to the new interface, effectively deprecating the old clock
interfaces. Long-term my vision is that we should be able to deprecate the clock
of WebRTC and rely on the user providing the implementation.
TEST=vie_auto_test, rtp_rtcp_unittests, trybots
Review URL: https://webrtc-codereview.appspot.com/1041004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3381 4adac7df-926f-26a2-2b94-8c16560cd09d
atomicops.h are not necessary in trace_event.h similar to the port in WebKit.
It will cause a benign race condition detected by TSAN. If it shows up in
TSAN we will either suppress it or annotate it with dynamic annotations.
BUG=1215
Review URL: https://webrtc-codereview.appspot.com/982004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3267 4adac7df-926f-26a2-2b94-8c16560cd09d
There are more than one target when building with chrome. They have different build setup.
This patch just puts content of build/android/cpufeatures.gypi inside system_wrappers.gyp.
In the future, if more modules will use cpufeatures lib, we can move the code into a gypi file.
Review URL: https://webrtc-codereview.appspot.com/939030
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3242 4adac7df-926f-26a2-2b94-8c16560cd09d
Add a highly stripped-down version of libjingle's base/logging.h. It is
a thin wrapper around WEBRTC_TRACE, maintaining the libjingle log
semantics to ease a transition to that format.
Also add some helper macros for easy API and function failure logging.
Review URL: https://webrtc-codereview.appspot.com/931010
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3099 4adac7df-926f-26a2-2b94-8c16560cd09d