Commit Graph

1153 Commits

Author SHA1 Message Date
1f5a368978 Readded a check to see if STRICT_HTTP_ERROR is defined before using it's value.
NOTRY=true
BUG=webrtc:6424
TBR=perkj@webrtc.org,pthatcher@webrtc.org,nisse@webrtc.org

Review-Url: https://codereview.webrtc.org/2391133003
Cr-Commit-Position: refs/heads/master@{#14521}
2016-10-05 08:58:19 +00:00
81e007aee9 Delete profiler.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2374033002
Cr-Commit-Position: refs/heads/master@{#14519}
2016-10-05 08:45:59 +00:00
3324cf751a Revert of Delete unused code httprequest, httpclient, and socketpool. (patchset #3 id:40001 of https://codereview.webrtc.org/2366333002/ )
Reason for revert:
This CL breaks some downstream dependencies (contact me for more info).

Original issue's description:
> Delete unused code httprequest, httpclient, and socketpool.
>
> BUG=webrtc:6424
>
> Committed: https://crrev.com/4a255be3790a040cae2f6182ed70b7dd38c6839e
> Cr-Commit-Position: refs/heads/master@{#14514}

TBR=perkj@webrtc.org,pthatcher@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2397673002
Cr-Commit-Position: refs/heads/master@{#14518}
2016-10-05 08:23:21 +00:00
8a72369c2a Delete multipart.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2374013003
Cr-Commit-Position: refs/heads/master@{#14517}
2016-10-05 08:16:34 +00:00
4a255be379 Delete unused code httprequest, httpclient, and socketpool.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2366333002
Cr-Commit-Position: refs/heads/master@{#14514}
2016-10-05 06:29:55 +00:00
91e1a1abef Delete winfirewall.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2365363003
Cr-Commit-Position: refs/heads/master@{#14511}
2016-10-05 06:26:31 +00:00
2de66fe1c9 Delete unused file versionparsing.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2373003002
Cr-Commit-Position: refs/heads/master@{#14510}
2016-10-05 06:25:05 +00:00
5377bc77cc Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere
The former is always defined (by webrtc/base/checks.h) to either 0 or
1, whereas the latter isn't necessarily defined.

This is a re-land of https://codereview.webrtc.org/2384693002, which
broke Chromium. We re-land without changing this CL at all, because
the thing that needed fixing was in Chromium:
https://codereview.chromium.org/2384263004.

NOTRY=true
TBR=ossu@webrtc.org
BUG=webrtc:6451

Review-Url: https://codereview.webrtc.org/2389943003
Cr-Commit-Position: refs/heads/master@{#14508}
2016-10-04 20:47:02 +00:00
cd97b2b943 Switched flaky ProfilerTest to use fake clock
The test was heavily dependent on wall clock timing, so it ended up
being disabled in some build configurations. This CL switches it to use
a fake clock instead.

BUG=webrtc:5947

Review-Url: https://codereview.webrtc.org/2392613003
Cr-Commit-Position: refs/heads/master@{#14507}
2016-10-04 19:33:00 +00:00
409f573f8e Delete posix.h (RunAsDaemon).
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2367403002
Cr-Commit-Position: refs/heads/master@{#14502}
2016-10-04 14:52:02 +00:00
cacee524c1 Delete referencecountedsingletonfactory.h.
Unused since cl https://codereview.webrtc.org/1715043002

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2368123003
Cr-Commit-Position: refs/heads/master@{#14501}
2016-10-04 14:21:56 +00:00
085ec0e4b1 Delete sec_buffer.h.
Unused since cl https://codereview.webrtc.org/1383253002

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2373483002
Cr-Commit-Position: refs/heads/master@{#14500}
2016-10-04 13:46:00 +00:00
038a0851df Delete unused base/worker.{cc,h}.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2370793002
Cr-Commit-Position: refs/heads/master@{#14499}
2016-10-04 13:16:36 +00:00
312303340c Delete bandwidthsmoother.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2367213004
Cr-Commit-Position: refs/heads/master@{#14498}
2016-10-04 12:58:35 +00:00
607d9d7f60 rtc::FunctionView improvements: accept function pointers and nullptr
BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/2375023004
Cr-Commit-Position: refs/heads/master@{#14483}
2016-10-03 19:40:41 +00:00
8f9010631c Revert of Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere (patchset #2 id:20001 of https://codereview.webrtc.org/2384693002/ )
Reason for revert:
This CL breaks FYI bots with a compile error.

Sample error:
jingle/glue/thread_wrapper.cc -o obj/jingle/jingle_glue/thread_wrapper.o
In file included from ../../jingle/glue/thread_wrapper.cc:5:
In file included from ../../jingle/glue/thread_wrapper.h:16:
In file included from ../../base/message_loop/message_loop.h:17:
In file included from ../../base/memory/ref_counted.h:19:
../../base/logging.h:598:1: error: call to 'MakeCheckOpString' is ambiguous
DEFINE_CHECK_OP_IMPL(EQ, ==)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/logging.h:592:17: note: expanded from macro 'DEFINE_CHECK_OP_IMPL'
    else return MakeCheckOpString(v1, v2, names); \
                ^~~~~~~~~~~~~~~~~
../../jingle/glue/thread_wrapper.cc:46:3: note: in instantiation of function template specialization 'logging::CheckEQImpl<rtc::Thread *, jingle_glue::JingleThreadWrapper *>' requested here
  DCHECK_EQ(rtc::Thread::Current(), current());
  ^
../../base/logging.h:748:31: note: expanded from macro 'DCHECK_EQ'
#define DCHECK_EQ(val1, val2) DCHECK_OP(EQ, ==, val1, val2)
                              ^
../../base/logging.h:721:18: note: expanded from macro 'DCHECK_OP'
      ::logging::Check##name##Impl((val1), (val2),                     \
                 ^
<scratch space>:102:1: note: expanded from here
CheckEQImpl
^
../../base/logging.h:555:14: note: candidate function [with t1 = rtc::Thread *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
../../third_party/webrtc/base/checks.h:122:14: note: candidate function [with t1 = rtc::Thread *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
In file included from ../../jingle/glue/thread_wrapper.cc:5:
In file included from ../../jingle/glue/thread_wrapper.h:16:
In file included from ../../base/message_loop/message_loop.h:17:
In file included from ../../base/memory/ref_counted.h:19:
../../base/logging.h:598:1: error: call to 'MakeCheckOpString' is ambiguous
DEFINE_CHECK_OP_IMPL(EQ, ==)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/logging.h:592:17: note: expanded from macro 'DEFINE_CHECK_OP_IMPL'
    else return MakeCheckOpString(v1, v2, names); \
                ^~~~~~~~~~~~~~~~~
../../jingle/glue/thread_wrapper.cc:81:3: note: in instantiation of function template specialization 'logging::CheckEQImpl<jingle_glue::JingleThreadWrapper *, jingle_glue::JingleThreadWrapper *>' requested here
  DCHECK_EQ(this, JingleThreadWrapper::current());
  ^
../../base/logging.h:748:31: note: expanded from macro 'DCHECK_EQ'
#define DCHECK_EQ(val1, val2) DCHECK_OP(EQ, ==, val1, val2)
                              ^
../../base/logging.h:721:18: note: expanded from macro 'DCHECK_OP'
      ::logging::Check##name##Impl((val1), (val2),                     \
                 ^
<scratch space>:5:1: note: expanded from here
CheckEQImpl
^
../../base/logging.h:555:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
../../third_party/webrtc/base/checks.h:122:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
In file included from ../../jingle/glue/thread_wrapper.cc:5:
In file included from ../../jingle/glue/thread_wrapper.h:16:
In file included from ../../base/message_loop/message_loop.h:17:
In file included from ../../base/memory/ref_counted.h:19:
../../base/logging.h:598:1: error: call to 'MakeCheckOpString' is ambiguous
DEFINE_CHECK_OP_IMPL(EQ, ==)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/logging.h:592:17: note: expanded from macro 'DEFINE_CHECK_OP_IMPL'
    else return MakeCheckOpString(v1, v2, names); \
                ^~~~~~~~~~~~~~~~~
../../jingle/glue/thread_wrapper.cc:82:3: note: in instantiation of function template specialization 'logging::CheckEQImpl<jingle_glue::JingleThreadWrapper *, rtc::Thread *>' requested here
  DCHECK_EQ(this, rtc::Thread::Current());
  ^
../../base/logging.h:748:31: note: expanded from macro 'DCHECK_EQ'
#define DCHECK_EQ(val1, val2) DCHECK_OP(EQ, ==, val1, val2)
                              ^
../../base/logging.h:721:18: note: expanded from macro 'DCHECK_OP'
      ::logging::Check##name##Impl((val1), (val2),                     \
                 ^
<scratch space>:12:1: note: expanded from here
CheckEQImpl
^
../../base/logging.h:555:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = rtc::Thread *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
../../third_party/webrtc/base/checks.h:122:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = rtc::Thread *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
3 errors generated.

Original issue's description:
> Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere
>
> The former is always defined (by webrtc/base/checks.h) to either 0 or
> 1, whereas the latter isn't necessarily defined.
>
> NOTRY=true
> BUG=webrtc:6451
>
> Committed: https://crrev.com/ab0b929321d37669165d5795268fa10a8c97ec5b
> Cr-Commit-Position: refs/heads/master@{#14474}

TBR=ossu@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6451

Review-Url: https://codereview.webrtc.org/2384083004
Cr-Commit-Position: refs/heads/master@{#14480}
2016-10-03 15:32:36 +00:00
ab0b929321 Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere
The former is always defined (by webrtc/base/checks.h) to either 0 or
1, whereas the latter isn't necessarily defined.

NOTRY=true
BUG=webrtc:6451

Review-Url: https://codereview.webrtc.org/2384693002
Cr-Commit-Position: refs/heads/master@{#14474}
2016-10-03 12:04:25 +00:00
1d477ea6d5 Default constructor for file
BUG=webrtc:6177
R=perkj@webrtc.org, sprang@webrtc.org

Review URL: https://codereview.webrtc.org/2360303004 .

Cr-Commit-Position: refs/heads/master@{#14473}
2016-10-03 11:16:15 +00:00
8ff860a35d Add support for WeakPtr<T>
The implementation is borrowed from Chromium.

Also change use of raw pointers in VideoSendStreamImpl to use WeakPtr<>

BUG= webrtc:6289

Review-Url: https://codereview.webrtc.org/2367853002
Cr-Commit-Position: refs/heads/master@{#14468}
2016-10-03 07:30:08 +00:00
ac9f876bc0 Sort #includes that got unsorted when gmock.h and gtest.h moved to webrtc/test/
gmock.h and gtest.h were moved (or rather, got wrappers so that we
could put some icky compatibility hacks in one place instead of 500)
in this CL: https://codereview.webrtc.org/2358993004/

NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2381013002
Cr-Commit-Position: refs/heads/master@{#14464}
2016-10-01 05:29:53 +00:00
fe69a74ba8 Making ContinueSSL synchronously set the state to "open".
It was recently made asynchronous, and this broke some downstream tests.

BUG=webrtc:6387
TBR=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2381313003 .

Cr-Commit-Position: refs/heads/master@{#14463}
2016-10-01 00:34:42 +00:00
89824f6fe0 Relanding: Allow the DTLS fingerprint verification to occur after the handshake.
This means the DTLS handshake can make progress while the SDP answer
containing the fingerprint is still in transit. If the signaling path
if significantly slower than the media path, this can have a moderate
impact on call setup time.

Of course, until the fingerprint is verified no media can be sent. Any
attempted write will result in SR_BLOCK.

This essentially fulfills the requirements of RFC 4572, Section 6.2:

   Note that when the offer/answer model is being used, it is possible
   for a media connection to outrace the answer back to the offerer.
   Thus, if the offerer has offered a 'setup:passive' or 'setup:actpass'
   role, it MUST (as specified in RFC 4145 [2]) begin listening for an
   incoming connection as soon as it sends its offer.  However, it MUST
   NOT assume that the data transmitted over the TLS connection is valid
   until it has received a matching fingerprint in an SDP answer.  If
   the fingerprint, once it arrives, does not match the client's
   certificate, the server endpoint MUST terminate the media connection
   with a bad_certificate error, as stated in the previous paragraph.

BUG=webrtc:6387

Review-Url: https://codereview.webrtc.org/2163683003
Cr-Commit-Position: refs/heads/master@{#14461}
2016-09-30 18:55:49 +00:00
7502401788 Do not spam "Connect failed with 101/65" in logs.
WebRTC polls the list of local IP addresses for both IPv4 and IPv6
every ~2 seconds. It does so by trying to connect() a UDP socket to
an address on the public Internet (without actually sending any
packets).

If the host doesn't have IPv6 (or IPv4) connectivity, it fails with
errno 101 (ENETUNREACH, Linux) or errno 65 (EHOSTUNREACH, Mac).

This is the expected behavior, and we shouldn't be logging these
failures, especially since polling is fairly frequent.

BUG=webrtc:6347
R=deadbeef@webrtc.org, honghaiz@webrtc.org, perkj@webrtc.org

Review URL: https://codereview.webrtc.org/2370383002 .

Cr-Commit-Position: refs/heads/master@{#14440}
2016-09-29 19:59:44 +00:00
b6760f9e44 Format all Java in WebRTC.
BUG=webrtc:6419
TBR=henrika@webrtc.org

Review-Url: https://codereview.webrtc.org/2377003002
Cr-Commit-Position: refs/heads/master@{#14432}
2016-09-29 11:12:51 +00:00
77eab70470 Enable the -Wundef warning for clang
NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2358993004
Cr-Commit-Position: refs/heads/master@{#14425}
2016-09-29 00:42:08 +00:00
24c7c1238d Move FunctionView from AudioCodingModule to the rtc namespace
It's a very general type, and we're about to start needing it in other
places besides AudioCodingModule.

BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/2380463003
Cr-Commit-Position: refs/heads/master@{#14423}
2016-09-28 18:57:17 +00:00
3901128075 Remove unnecessary jsoncpp includes.
These are already added in third_party/jsoncpp/BUILD.gn so they
shouldn't be needed.

BUG=webrtc:6412
NOTRY=True
NOTREECHECKS=True

Review-Url: https://codereview.webrtc.org/2368543002
Cr-Commit-Position: refs/heads/master@{#14379}
2016-09-26 09:52:40 +00:00
347ec5c72e Change thread check to race check. Also, add comment to explain implementation of RaceChecker.
BUG=webrtc:6345

Review-Url: https://codereview.webrtc.org/2350663002
Cr-Commit-Position: refs/heads/master@{#14369}
2016-09-23 11:21:55 +00:00
81f6f4fc56 Revert of Allow the DTLS fingerprint verification to occur after the handshake. (patchset #11 id:200001 of https://codereview.webrtc.org/2163683003/ )
Reason for revert:
Broke a downstream user of SSLStreamAdapter. Need to add the new interface (returning error code instead of bool) in a backwards compatible way.

Original issue's description:
> Allow the DTLS fingerprint verification to occur after the handshake.
>
> This means the DTLS handshake can make progress while the SDP answer
> containing the fingerprint is still in transit. If the signaling path
> if significantly slower than the media path, this can have a moderate
> impact on call setup time.
>
> Of course, until the fingerprint is verified no media can be sent. Any
> attempted write will result in SR_BLOCK.
>
> This essentially fulfills the requirements of RFC 4572, Section 6.2:
>
>    Note that when the offer/answer model is being used, it is possible
>    for a media connection to outrace the answer back to the offerer.
>    Thus, if the offerer has offered a 'setup:passive' or 'setup:actpass'
>    role, it MUST (as specified in RFC 4145 [2]) begin listening for an
>    incoming connection as soon as it sends its offer.  However, it MUST
>    NOT assume that the data transmitted over the TLS connection is valid
>    until it has received a matching fingerprint in an SDP answer.  If
>    the fingerprint, once it arrives, does not match the client's
>    certificate, the server endpoint MUST terminate the media connection
>    with a bad_certificate error, as stated in the previous paragraph.
>
> BUG=webrtc:6387
> R=mattdr@webrtc.org, pthatcher@webrtc.org
>
> Committed: https://crrev.com/042041bf9585f92e962387c59ca805f1218338f9
> Cr-Commit-Position: refs/heads/master@{#14296}

TBR=pthatcher@webrtc.org,mattdr@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6387

Review-Url: https://codereview.webrtc.org/2352863003
Cr-Commit-Position: refs/heads/master@{#14298}
2016-09-20 00:21:00 +00:00
c67e0f5753 Signal to remove remote candidates if ports are pruned.
Previously when a Turn port is pruned, if its candidate has been sent to the remote side, the remote side will keep the candidate and use that to create connections.
We now signal the remote side to remove the candidates so that at least no new connection will be created using the removed candidates.

Also updated the virtual socket server to better support our test cases.
1. Allow the virtual socket server to set transit delay for packets sent from a given IP address.
2. Ensure the ordered packet delivery for each socket (Previously the delivery order is enforced on the whole test case, so if a udp packet gets delayed based on its IP address, all TCP packets sent after the UDP packet will be delayed at least until the UDP packet is received).

BUG=webrtc:6380
R=deadbeef@webrtc.org, pthatcher@webrtc.org, skvlad@webrtc.org

Review URL: https://codereview.webrtc.org/2261523004 .

Cr-Commit-Position: refs/heads/master@{#14297}
2016-09-19 23:57:48 +00:00
042041bf95 Allow the DTLS fingerprint verification to occur after the handshake.
This means the DTLS handshake can make progress while the SDP answer
containing the fingerprint is still in transit. If the signaling path
if significantly slower than the media path, this can have a moderate
impact on call setup time.

Of course, until the fingerprint is verified no media can be sent. Any
attempted write will result in SR_BLOCK.

This essentially fulfills the requirements of RFC 4572, Section 6.2:

   Note that when the offer/answer model is being used, it is possible
   for a media connection to outrace the answer back to the offerer.
   Thus, if the offerer has offered a 'setup:passive' or 'setup:actpass'
   role, it MUST (as specified in RFC 4145 [2]) begin listening for an
   incoming connection as soon as it sends its offer.  However, it MUST
   NOT assume that the data transmitted over the TLS connection is valid
   until it has received a matching fingerprint in an SDP answer.  If
   the fingerprint, once it arrives, does not match the client's
   certificate, the server endpoint MUST terminate the media connection
   with a bad_certificate error, as stated in the previous paragraph.

BUG=webrtc:6387
R=mattdr@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2163683003 .

Cr-Commit-Position: refs/heads/master@{#14296}
2016-09-19 23:02:35 +00:00
e5835f5d84 Adding an end-to-end connection time test.
The test uses a fake clock and simulates network and signaling delays in
order to get a repeatable measurement of the time to establish a
connection (including DTLS). This will help ensure that various
optimizations continue to work as expected, and no new delays are
introduced.

This CL depends on: https://codereview.webrtc.org/2140283002/

R=honghaiz@webrtc.org, pthatcher@webrtc.org, skvlad@webrtc.org

Review URL: https://codereview.webrtc.org/2141863003 .

Cr-Commit-Position: refs/heads/master@{#14270}
2016-09-16 22:07:58 +00:00
971eb27e54 Removing, opening and creating files in platform_file and file
BUG=
R=perkj@webrtc.org, sprang@google.com

Review URL: https://codereview.webrtc.org/2347473003 .

Cr-Commit-Position: refs/heads/master@{#14250}
2016-09-16 08:19:33 +00:00
fe7d091f57 Fixing a couple cases that cause ProcessAllMessageQueues to hang.
The two situations are:
1. A thread is in the process of shutting down, so it won't handle any
   more messages.
2. A message queue is cleared before it has a chance to process pending
   messages.

In both of those cases, we should consider processing done at that
point.

R=honghaiz@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2319303004 .

Cr-Commit-Position: refs/heads/master@{#14245}
2016-09-16 00:47:47 +00:00
ec62374ccd Reland of Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base. (patchset #1 id:1 of https://codereview.webrtc.org/2340253003/ )
Reason for revert:
Fix: let audio_device depend on rtc_base on IOS.

Original issue's description:
> Revert of Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base. (patchset #1 id:1 of https://codereview.webrtc.org/2346763002/ )
>
> Reason for revert:
> Breaks iOS
>
> Original issue's description:
> > Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base.
> >
> > BUG=webrtc:3806
> > NOTRY=True
> >
> > Committed: https://crrev.com/100c9d02669910bce06099b3cc1eaad60fd661dd
> > Cr-Commit-Position: refs/heads/master@{#14223}
>
> TBR=kjellander@webrtc.org,henrika@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:3806
>
> Committed: https://crrev.com/89fb9201b70616a1c33e277f38bf9367112536e8
> Cr-Commit-Position: refs/heads/master@{#14224}

TBR=kjellander@webrtc.org,henrika@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOTRY=true
BUG=webrtc:3806

Review-Url: https://codereview.webrtc.org/2340233003
Cr-Commit-Position: refs/heads/master@{#14233}
2016-09-15 12:11:59 +00:00
89fb9201b7 Revert of Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base. (patchset #1 id:1 of https://codereview.webrtc.org/2346763002/ )
Reason for revert:
Breaks iOS

Original issue's description:
> Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base.
>
> BUG=webrtc:3806
> NOTRY=True
>
> Committed: https://crrev.com/100c9d02669910bce06099b3cc1eaad60fd661dd
> Cr-Commit-Position: refs/heads/master@{#14223}

TBR=kjellander@webrtc.org,henrika@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:3806

Review-Url: https://codereview.webrtc.org/2340253003
Cr-Commit-Position: refs/heads/master@{#14224}
2016-09-15 08:45:33 +00:00
100c9d0266 Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base.
BUG=webrtc:3806
NOTRY=True

Review-Url: https://codereview.webrtc.org/2346763002
Cr-Commit-Position: refs/heads/master@{#14223}
2016-09-15 08:40:42 +00:00
3626d7e247 Move CopyOnWriteBuffer functions definitions from .h to .cc
R=kwiberg@webrtc.org

Review URL: https://codereview.webrtc.org/2338843002 .

Cr-Commit-Position: refs/heads/master@{#14217}
2016-09-14 15:14:37 +00:00
a075848ebd New method TimestampAligner::TranslateTimestamp
Also enforce a minimum inter-frame interval of 1 ms,
fix a bug in the clipping logic, and improve comments.

BUG=webrtc:5740

Review-Url: https://codereview.webrtc.org/2325563002
Cr-Commit-Position: refs/heads/master@{#14206}
2016-09-14 07:37:03 +00:00
cdf37a9293 Delete Timing class, timing.h, and update all users.
BUG=webrtc:6324

Review-Url: https://codereview.webrtc.org/2290203002
Cr-Commit-Position: refs/heads/master@{#14203}
2016-09-14 06:41:55 +00:00
2b2779f3f1 Make CopyOnWriteBuffer keep capacity
for SetData and Clear functions too.

This way result of all functions is same
for shared and non-shared buffer cases

R=kwiberg@webrtc.org

Review URL: https://codereview.webrtc.org/2328553002 .

Cr-Commit-Position: refs/heads/master@{#14196}
2016-09-13 12:15:23 +00:00
22487b2d0a webrtc/base: Use RTC_DCHECK() instead of assert()
Review-Url: https://codereview.webrtc.org/2325623002
Cr-Commit-Position: refs/heads/master@{#14192}
2016-09-13 08:17:19 +00:00
e753641ef1 Adding ability to simulate EWOULDBLOCK/SignalReadyToSend.
Calling VirtualSocketServer::SetSendingBlocked(true) will simulate the
network interface being blocked, and SetSendingBlocked(false) will
simulate it being unblocked, resulting in SignalReadyToSend if
appropriate.

I plan to use this to write tests for upper layers of code that deal
with EWOULDBLOCK/SignalReadyToSend.

Also doing some minor housekeeping in this CL (using RTC_DCHECK,
renaming variables, etc.).

R=pthatcher@webrtc.org, skvlad@webrtc.org

Review URL: https://codereview.webrtc.org/2284903002 .

Cr-Commit-Position: refs/heads/master@{#14170}
2016-09-09 20:16:25 +00:00
291cd8fac3 CopyOnWriteBuffer::SetSize to smaller size memcpy less.
R=kwiberg@webrtc.org

Review URL: https://codereview.webrtc.org/2317283004 .

Cr-Commit-Position: refs/heads/master@{#14166}
2016-09-09 15:32:43 +00:00
a41c13e6a2 OWNERS: Make everyone able to change *.gn,*.gni files.
Project-wide change to make it possible for all team members
to do changes to GN files.

NOTRY=True
R=kwiberg@webrtc.org
TBR=henrika@webrtc.org

Review URL: https://codereview.webrtc.org/2320043002 .

Cr-Commit-Position: refs/heads/master@{#14163}
2016-09-09 12:51:48 +00:00
2b11fd2e4b rtc::Optional: Tell sanitizers that unset values aren't OK to access
This is a sample use of the other three sanitizer functions introduced
in https://codereview.webrtc.org/2293893002/.

BUG=chromium:617124

Review-Url: https://codereview.webrtc.org/2289383002
Cr-Commit-Position: refs/heads/master@{#14157}
2016-09-09 10:35:32 +00:00
d5472246a5 Reland of move all reference to carbon api (patchset #1 id:1 of https://codereview.webrtc.org/2317343003/ )
Reason for revert:
Build issues have now _really_ been fixed

Original issue's description:
> Revert of move all reference to carbon api (patchset #2 id:300001 of https://codereview.webrtc.org/2321493002/ )
>
> Reason for revert:
> Still breaks Chromium mac compile:
> [4542/22193] CXX obj/third_party/webrtc/base/rtc_base/unixfilesystem.o
> FAILED: obj/third_party/webrtc/base/rtc_base/unixfilesystem.o
> /b/c/cipd/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/webrtc/base/rtc_base/unixfilesystem.o.d -DLOGGING=1 -DV8_DEPRECATION_WARNINGS -DENABLE_NOTIFICATIONS -DENABLE_PEPPER_CDMS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1 -DDCHECK_ALWAYS_ON=1 -DNO_TCMALLOC -DUSE_EXTERNAL_POPUP_MENU=1 -DENABLE_WEBRTC=1 -DENABLE_EXTENSIONS=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DUSE_PROPRIETARY_CODECS -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=280106-1 -DCR_XCODE_VERSION=0511 -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DWEBRTC_RESTRICT_LOGGING -DEXPAT_RELATIVE_PATH -DENABLE_EXTERNAL_AUTH -DHAVE_OPENSSL_SSL_H -DHAVE_SCTP -DHAVE_SRTP -DHAVE_WEBRTC_VIDEO -DHAVE_WEBRTC_VOICE -DLOGGING_INSIDE_WEBRTC -DSRTP_RELATIVE_PATH -DSSL_USE_OPENSSL -DUSE_WEBRTC_DEV_BRANCH -DSSL_USE_OPENSSL -DHAVE_OPENSSL_SSL_H -DFEATURE_ENABLE_SSL -DLOGGING=1 -DFEATURE_ENABLE_SSL -DFEATURE_ENABLE_VOICEMAIL -DEXPAT_RELATIVE_PATH -DGTEST_RELATIVE_PATH -DNO_MAIN_THREAD_WRAPPING -DNO_SOUND_SYSTEM -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_MAC -DNO_MAIN_THREAD_WRAPPING -I../../third_party/webrtc_overrides -I../../third_party/boringssl/src/include -I../.. -Igen -I../../third_party/jsoncpp/overrides/include -I../../third_party/jsoncpp/source/include -I../../third_party/webrtc_overrides -I../../third_party -I../../third_party/boringssl/src/include -Wno-uninitialized -fno-strict-aliasing -fstack-protector -fcolor-diagnostics -arch x86_64 -O2 -g1 -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.7 -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Wheader-hygiene -Wstring-conversion -Werror -Wall -Wno-unused-variable -Wpartial-availability -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -fno-threadsafe-statics -fvisibility-inlines-hidden -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions -c ../../third_party/webrtc/base/unixfilesystem.cc -o obj/third_party/webrtc/base/rtc_base/unixfilesystem.o
> ../../third_party/webrtc/base/unixfilesystem.cc:375:11: error: variable has incomplete type 'FSRef'
>     FSRef fr;
>           ^
> /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFURL.h:467:8: note: forward declaration of 'FSRef'
> struct FSRef;
>        ^
> ../../third_party/webrtc/base/unixfilesystem.cc:376:27: error: use of undeclared identifier 'kUserDomain'
>     if (0 != FSFindFolder(kUserDomain, kApplicationSupportFolderType,
>                           ^
> ../../third_party/webrtc/base/unixfilesystem.cc:376:40: error: use of undeclared identifier 'kApplicationSupportFolderType'
>     if (0 != FSFindFolder(kUserDomain, kApplicationSupportFolderType,
>                                        ^
> ../../third_party/webrtc/base/unixfilesystem.cc:377:27: error: use of undeclared identifier 'kCreateFolder'; did you mean 'CreateFolder'?
>                           kCreateFolder, &fr))
>                           ^~~~~~~~~~~~~
>                           CreateFolder
> ../../third_party/webrtc/base/unixfilesystem.cc:92:22: note: 'CreateFolder' declared here
> bool UnixFilesystem::CreateFolder(const Pathname &path, mode_t mode) {
>
> Original issue's description:
> > Reland of move all reference to carbon api (patchset #1 id:1 of https://codereview.webrtc.org/2316563002/ )
> >
> > Reason for revert:
> > Chromium build issues have been resolved.
> >
> > Original issue's description:
> > > Revert of Remove all reference to carbon api (patchset #2 id:20001 of https://codereview.webrtc.org/2299633002/ )
> > >
> > > Reason for revert:
> > > Breaks chromium build
> > >
> > > Original issue's description:
> > > > Remove all reference to carbon api
> > > >
> > > > BUG=webrtc:6282
> > > >
> > > > Committed: https://crrev.com/dbd8b6bec4143c940b2f2ca8cd85c25d17327964
> > > > Cr-Commit-Position: refs/heads/master@{#14080}
> > >
> > > TBR=magjed@webrtc.org,mflodman@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:6282
> > >
> > > Committed: https://crrev.com/b096aa7fd375a980daab3a986596548ca5de2a1c
> > > Cr-Commit-Position: refs/heads/master@{#14081}
> >
> > TBR=magjed@webrtc.org,mflodman@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:6282
> >
> > Committed: https://crrev.com/a90879b64fd8db57c0274169311d6b51dd59f1a0
> > Cr-Commit-Position: refs/heads/master@{#14125}
>
> TBR=mflodman@webrtc.org,kthelgason@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6282
>
> Committed: https://crrev.com/4e0581f543b026cbc31c3b24cf65c7f51dcd6124
> Cr-Commit-Position: refs/heads/master@{#14133}

TBR=mflodman@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6282

Review-Url: https://codereview.webrtc.org/2327573002
Cr-Commit-Position: refs/heads/master@{#14155}
2016-09-09 10:19:54 +00:00
27c7b8ff11 VadCore: Allow signed multiplication overflow that we don't know how to fix
The right thing to do would be to ensure that the multiplication can't
overflow, but that'd be a major change bordering on a rewrite, and
would take too much time. So instead, we just instruct UBSan to look
the other way.

BUG=chromium:634834

Review-Url: https://codereview.webrtc.org/2318083002
Cr-Commit-Position: refs/heads/master@{#14154}
2016-09-09 09:04:45 +00:00
4e0581f543 Revert of move all reference to carbon api (patchset #2 id:300001 of https://codereview.webrtc.org/2321493002/ )
Reason for revert:
Still breaks Chromium mac compile:
[4542/22193] CXX obj/third_party/webrtc/base/rtc_base/unixfilesystem.o
FAILED: obj/third_party/webrtc/base/rtc_base/unixfilesystem.o
/b/c/cipd/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/webrtc/base/rtc_base/unixfilesystem.o.d -DLOGGING=1 -DV8_DEPRECATION_WARNINGS -DENABLE_NOTIFICATIONS -DENABLE_PEPPER_CDMS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1 -DDCHECK_ALWAYS_ON=1 -DNO_TCMALLOC -DUSE_EXTERNAL_POPUP_MENU=1 -DENABLE_WEBRTC=1 -DENABLE_EXTENSIONS=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DUSE_PROPRIETARY_CODECS -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=280106-1 -DCR_XCODE_VERSION=0511 -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DWEBRTC_RESTRICT_LOGGING -DEXPAT_RELATIVE_PATH -DENABLE_EXTERNAL_AUTH -DHAVE_OPENSSL_SSL_H -DHAVE_SCTP -DHAVE_SRTP -DHAVE_WEBRTC_VIDEO -DHAVE_WEBRTC_VOICE -DLOGGING_INSIDE_WEBRTC -DSRTP_RELATIVE_PATH -DSSL_USE_OPENSSL -DUSE_WEBRTC_DEV_BRANCH -DSSL_USE_OPENSSL -DHAVE_OPENSSL_SSL_H -DFEATURE_ENABLE_SSL -DLOGGING=1 -DFEATURE_ENABLE_SSL -DFEATURE_ENABLE_VOICEMAIL -DEXPAT_RELATIVE_PATH -DGTEST_RELATIVE_PATH -DNO_MAIN_THREAD_WRAPPING -DNO_SOUND_SYSTEM -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_MAC -DNO_MAIN_THREAD_WRAPPING -I../../third_party/webrtc_overrides -I../../third_party/boringssl/src/include -I../.. -Igen -I../../third_party/jsoncpp/overrides/include -I../../third_party/jsoncpp/source/include -I../../third_party/webrtc_overrides -I../../third_party -I../../third_party/boringssl/src/include -Wno-uninitialized -fno-strict-aliasing -fstack-protector -fcolor-diagnostics -arch x86_64 -O2 -g1 -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.7 -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Wheader-hygiene -Wstring-conversion -Werror -Wall -Wno-unused-variable -Wpartial-availability -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -fno-threadsafe-statics -fvisibility-inlines-hidden -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions -c ../../third_party/webrtc/base/unixfilesystem.cc -o obj/third_party/webrtc/base/rtc_base/unixfilesystem.o
../../third_party/webrtc/base/unixfilesystem.cc:375:11: error: variable has incomplete type 'FSRef'
    FSRef fr;
          ^
/Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFURL.h:467:8: note: forward declaration of 'FSRef'
struct FSRef;
       ^
../../third_party/webrtc/base/unixfilesystem.cc:376:27: error: use of undeclared identifier 'kUserDomain'
    if (0 != FSFindFolder(kUserDomain, kApplicationSupportFolderType,
                          ^
../../third_party/webrtc/base/unixfilesystem.cc:376:40: error: use of undeclared identifier 'kApplicationSupportFolderType'
    if (0 != FSFindFolder(kUserDomain, kApplicationSupportFolderType,
                                       ^
../../third_party/webrtc/base/unixfilesystem.cc:377:27: error: use of undeclared identifier 'kCreateFolder'; did you mean 'CreateFolder'?
                          kCreateFolder, &fr))
                          ^~~~~~~~~~~~~
                          CreateFolder
../../third_party/webrtc/base/unixfilesystem.cc:92:22: note: 'CreateFolder' declared here
bool UnixFilesystem::CreateFolder(const Pathname &path, mode_t mode) {

Original issue's description:
> Reland of move all reference to carbon api (patchset #1 id:1 of https://codereview.webrtc.org/2316563002/ )
>
> Reason for revert:
> Chromium build issues have been resolved.
>
> Original issue's description:
> > Revert of Remove all reference to carbon api (patchset #2 id:20001 of https://codereview.webrtc.org/2299633002/ )
> >
> > Reason for revert:
> > Breaks chromium build
> >
> > Original issue's description:
> > > Remove all reference to carbon api
> > >
> > > BUG=webrtc:6282
> > >
> > > Committed: https://crrev.com/dbd8b6bec4143c940b2f2ca8cd85c25d17327964
> > > Cr-Commit-Position: refs/heads/master@{#14080}
> >
> > TBR=magjed@webrtc.org,mflodman@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:6282
> >
> > Committed: https://crrev.com/b096aa7fd375a980daab3a986596548ca5de2a1c
> > Cr-Commit-Position: refs/heads/master@{#14081}
>
> TBR=magjed@webrtc.org,mflodman@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:6282
>
> Committed: https://crrev.com/a90879b64fd8db57c0274169311d6b51dd59f1a0
> Cr-Commit-Position: refs/heads/master@{#14125}

TBR=mflodman@webrtc.org,kthelgason@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6282

Review-Url: https://codereview.webrtc.org/2317343003
Cr-Commit-Position: refs/heads/master@{#14133}
2016-09-08 12:35:00 +00:00
7e4b604cda Android ThreadUtils: Propagate exceptions in invoke functions
Right now, RuntimeExceptions thrown in an invoke function will kill the handler thread. This CL propagates the exceptions to the calling thread instead, to give the caller a change to handle them.

BUG=webrtc:6327

Review-Url: https://codereview.webrtc.org/2316223002
Cr-Commit-Position: refs/heads/master@{#14132}
2016-09-08 12:06:35 +00:00